411 Length Required error

Igor Sysoev is at rambler-co.ru
Sun Aug 17 17:59:22 MSD 2008


On Sun, Aug 17, 2008 at 08:40:39PM +0700, Chris Savery wrote:

> Thanks Igor.
> 
> I turned on info and it says the reason is client didn't send 
> "Content-Length" header. Now, why would Firefox (3) not do that? Is this 
> common?
> 
> I noticed in Firebug that the header sent ALSO has "Transfer-Encoding: 
> chunked".
> I had the same problem with Lightpd and using a Flash uploader but they 
> refuse to fix it to ignore chunked, so I could not use it with Flash. 
> One reason I switched to using nginx is that unlike Lighttpd it works 
> with the flash uploader.
> 
> So should I just ignore this as it still works as expected?  But I 
> cannot see content in Firebug, or maybe I need to force a header in JS 
> code (maybe the mootools JS library mistakenly doesn't set the Content 
> Length hmm, I should explore that too.) Just a minefield. How is it that 
> the server returns this error page but also I am getting the JSON data 
> back as well?

nginx tests Content-Length absence before Transfer-Encoding, thus
it logs this error, although the request is valid: it has either
Transfer-Encoding or Content-Length.

> Igor Sysoev wrote:
> >On Sun, Aug 17, 2008 at 02:14:18PM +0700, Chris Savery wrote:
> >
> >  
> >>I've been getting this error a lot in my testing. I never received it 
> >>with Apache. I understand what the message say but not why it's coming 
> >>about. My headers being sent have length. Or is this message referring 
> >>to content returned by PHP at the server end? I'm sure one of you 
> >>experts here knows what's going on with this. I only get it on POST 
> >>requests and not most of my ajax calls (which are GET).
> >>
> >>Thanks for any help with tracking this down. I'm seeing it in Firebug 
> >>and when it occurs I cannot see the real response content - even though 
> >>content is indeed returned as well since it has effect on my javascript 
> >>code and updates the screen. Weird.
> >>Chris :)
> >>    
> >
> >Set error_log level to info:
> >
> >error_log  /path/to/log info;
> >
> >Then nginx will log a reason. Now there are 3 reasons:
> >
> >"client sent invalid "Content-Length" header"
> >"client sent ... method without "Content-Length" header"
> >"client sent "Transfer-Encoding: chunked" header"
> >
> >The last reason is nginx feature: it still does not support chunked body.
> >
> >  
> >>Response from server:
> >>
> >><html>
> >>
> >><head><title>411 Length Required</title></head>
> >>
> >><body bgcolor="white">
> >>
> >><center><h1>411 Length Required</h1></center>
> >>
> >><hr><center>nginx/0.6.32</center>
> >>
> >></body>
> >>
> >></html>
> >>
> >>Header sent to server using ajax (only removed some identity info, HOST 
> >>line):
> >>
> >>User-Agent 	Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) 
> >>Gecko/2008072820 Firefox/3.0.1
> >>Accept 	text/javascript, text/html, application/xml, text/xml, */*
> >>Accept-Language 	en-us,en;q=0.5
> >>Accept-Encoding 	gzip,deflate
> >>Accept-Charset 	ISO-8859-1,utf-8;q=0.7,*;q=0.7
> >>Keep-Alive 	300
> >>Connection 	keep-alive
> >>X-Requested-With 	XMLHttpRequest
> >>Content-Type 	application/x-www-form-urlencoded; charset=utf-8
> >>Referer 	http://www.xxxxx.com/
> >>Content-Length 	269
> >>Cookie 	ZZZZSession=3ce34bb3dbc257ff61405175f941f1d7
> >>Pragma 	no-cache
> >>Cache-Control 	no-cache
> >>    
> >
> >
> >  
> 

-- 
Igor Sysoev
http://sysoev.ru/en/





More information about the nginx mailing list