lör 2010-02-20 klockan 11:11 +0100 skrev Riccardo Castellani: > What means "using the delay heuristics" ? Why it should be necessary to send > using delays ? > Heuristics ?! Because of the reasons why 100 Continue exists.. without 100 Continue the clients second option is to send headers, wait a bit for the headers to most likely arrive and get processed by the server (including forwarded by proxies etc) and then start sending the body when it's known within reasonable doubt that the request is acceptable to the server. the third option is to just chew along, sending all the data immediately and hope for the best. But for any larger request this has a high risk of failure with "Connection reset" if anything (proxy, server or surrogate server) refuses or fails the request, or in best case wastes network resources by sending data which will be discarded. All above in case of an error, naturally not if the request is successfully processed. > Some client can crate request with both this header and http1.0 protocol ?! Every HTTP/1.1 client can, simply by being proxied by an HTTP/1.0 proxy. HTTP protocol minor version is a hop-by-hop property (not end-to-end) and is for most processing of the HTTP protocol irrelevant. The only two places where you need to take note of the received HTTP protocol version is a) In servers, when considering to respond with chunked encoding. b) In clients, when considering to sent request entities using chunked encoding. chunked encoding is also a hop-by-hop property btw.. Everywhere else each recipient should process the message according to it's own protocol implementation. The errors 417 and 411 is both very similar in this regard, negating the use of certain HTTP/1.1 features. 417 tells the client that it can not expect an 100 Continue message and that it need to adjust it's request sending policy accordingly. 411 says that chunked encoding can not be used and requests need to be sent with Content-length if they have a request entity body. Regards Henrik