view xml/en/docs/faq/chunked_encoding_from_backend.xml @ 1923:66a30a380fba

Fixed links to tools.ietf.org.
author Ruslan Ermilov <ru@nginx.com>
date Mon, 06 Mar 2017 16:02:23 +0300
parents af3f38e349eb
children 4add6ae1296f
line wrap: on
line source

<!--
  Copyright (C) Nginx, Inc.
  -->

<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">

<article name="Why nginx doesn’t handle chunked encoding
               responses from my backend properly?"
         link="/en/docs/faq/chunked_encoding_from_backend.html"
         lang="en"
         rev="2">

<section>

<para>
<initial>Q:</initial>
My backend server appears to send HTTP/1.0 responses using
chunked encoding but nginx doesn’t handle it correctly.
For instance, I’m using nginx as a frontend to my node.js
application and instead of pure JSON from backend, nginx
returns something framed in decimal numbers like

<programlisting>
47
{"error":"query error","message":"Parameter(s) missing: user,password"}
0
</programlisting>

</para>

<para>
&nbsp;
</para>

<para>
<initial>A:</initial>
Your backend violates HTTP specification (see
<link url="https://tools.ietf.org/html/rfc2616#section-3.6">RFC 2616,
"3.6 Transfer Codings"</link>).
The "chunked" transfer-codings must not be used with HTTP/1.0.
You’d need to either fix your backend application or upgrade
to nginx version 1.1.4 and newer, where an additional code
was introduced to handle such erratic backend behavior.
</para>

</section>

</article>