> In a previous episode Rodent of Unusual Size said...
> :: > 1. MAY a server discard the message body of a POST request with no
> :: > Content-Length?
> :: [Opinion] No. The message-body is an integral part of
> :: the request, and cannot be silently ignored. The server
> :: should return a 411 (Length Required) instead.
> Section 4.4 (http rev6):
> All HTTP/1.1 applications that receive entities MUST accept the
> "chunked" transfer-coding (section 3.6), thus allowing this
> mechanism to be used for messages when the message length cannot be
> determined in advance.
> so, imho, it must take it and use it.
> http-wg: upon reflection, I actually can't think of any reason why a
> server would ever send 411... About the best I can come up with is a
> complete request (sans body) that has been sent that does hold any of
> the criteria set forth in 4.4.. but it's not really CL that's needed
> there, it's something that meets the 4.4 criteria..
> our server actually does issue 411 for the above case, but in
> retrospect I'm not really sure that's right.
> The archives didn't clear this up for me.. any recollections?
In my opinion, Ken Coar is correct in saying that for a server to
be *both* HTTP/1.1 compliant and CGI/1.1 compliant it MUST buffer
chunked POST data and provide a Content-Length for the CGI script.
My recollection is that some servers chose not to be completely
CGI/1.1 compliant to avoid the buffering. The 411 header was a
way to be HTTP/1.1 compliant and indicate their rejection of
chunked POST data.
For example, I have heard that Apache rejects chunked POST data,
but I have not personally verified this.