Why does IIS not support chunked transfer encoding?

My understanding is that chunked encoding can only be used in a HTTP response. A chunked request body would have the property of being incompatible with a 1.0 server, and in any case, there would be no way of a user-agent knowing that the server was a 1.0 server until it had already sent the request But I agree it's unclear from the documentation.

My understanding is that chunked encoding can only be used in a HTTP response. A chunked request body would have the property of being incompatible with a 1.0 server, and in any case, there would be no way of a user-agent knowing that the server was a 1.0 server until it had already sent the request. But I agree it's unclear from the documentation.

2 The client could interrogate the server by sending a HEAD request, among others. Reading RFC 2616, section 3.6 states that the server must send a 501 response when receiving a transfer-encoding header it does not understand. Section 3.6.1 says that all HTTP 1.1 applications must be able to receive and decode chunked transfer-coding.So it seems clear for me - client-to-server communication can be chunked.

A common scenario is file upload. – Cheeso Jul 6 '09 at 14:49 1 The original poster didn't mention which version of IIS they are using, but IIS 7 definately supports incoming chunked data - I've got a C++ application sending requests as chunked data to IIS 7 without any issues – Stephen Edmonds Nov 30 '10 at 18:43 I think you're incorrect. Servers and clients should support chunked (That doesn't mean that they do though).

Your reasoning that incompatibility would result is not valid, because any client supporting http1.1 should also understand how to talk to an http1.0 server. See: jmarshall.Com/easy/http/#http1.1s3 and: atnan. Com/2008/8/8/transfer-encoding-chunked-chunky-http and: w3.

Org/Protocols/rfc2616/rfc2616-sec3. Html#sec3.6 (Section 3.6.1 also) – Aaron H. Feb 17 at 23:58 I think that clients which send chunked requests to a HTTP 1.0 server are broken; if the client can know that the server support HTTP 1.1 before it sends anything to it (by magic?

) then it can send a chunked request. Some clients look at responses to previous requests to decide whether a server supports 1.1, I guess that's valid in most cases (still dubious behaviour though). – MarkR Feb 18 at 7:11.

Take a look at your client. Both IIS & Apache support POST requests using chunked transfer-encoding. You can verify this using the curl utility: curl --form "upfile=@" --header "Transfer-Encoding: chunked" Verify the transfer is chunked using Wireshark.

There is no extra DOS angle here. This is still just a single http request with its content formatted differently. The standard doesn't require any especially long timeouts while waiting for the rest of the request.

My only guess is they did not implement it out of concerns for security. In a naive solution it would be easy to set up a DOS attack by starting multiple chunked transfers that never end. And a complex solution which could account for the DOS attack is probably not worth the effort.

Of course I cannot speak for Apache or IIS, you may be able to contact the Apache team directly though: httpd.apache.org/bug_report.html I agree with MarkR that I always thought chunked encoding could only be used as a response, but the documentation sure makes it sound like it can be used in a request or a response.

1 Clients can use chunked encoding. This is allowed by RFC2616. For example it is useful in file upload scenarios.

– Cheeso Jul 6 '09 at 14:50 You could trivially set up a similar DOS attack without chunked encoding. Claim a content-length of 1, but never send the body. Done.

I think the difference with chunked is that it doesn't require a content-length header, so you can stream unknown length of data which terminates by closing the connection. IIS protects against these issues with a max request length and a request timeout. – Mark Nov 7 at 16:30.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions