no content length on 204s; hangs wget

Maxim Dounin mdounin at mdounin.ru
Mon Apr 8 18:54:25 UTC 2013


Hello!

On Mon, Apr 08, 2013 at 02:39:07PM -0400, Jeff Kaufman wrote:

> I've written a content handler for nginx that does:
> 
>     return NGX_HTTP_NO_CONTENT;
> 
> This produces output like:
> 
>     $ curl -D- 'http://localhost:8050/no_content_test'
>     HTTP/1.1 204 No Content
>     Server: nginx/1.2.7
>     Connection: keep-alive
>     Date: Mon, 08 Apr 2013 18:28:02 GMT
> 
> Testing this in curl it's fine, but wget waits for a content header,
> timing out after 60s.  I tried doing the opposite of
> ngx_http_clear_content_length to set a content length, but it doesn't
> get sent.
> 
> Is there a way to add a Content-Length on a 204 response or is this a wget bug?

Adding a Content-Length will be inconsistent with RFC2616, 
http://tools.ietf.org/html/rfc2616#section-10.2.5:

   The 204 response MUST NOT include a message-body, and thus is always
   terminated by the first empty line after the header fields.

So it looks like a wget bug.

-- 
Maxim Dounin
http://nginx.org/en/donation.html



More information about the nginx-devel mailing list