On Thu, Jun 20, 2013 at 11:23 PM, Philip Martin
<philip.martin_at_wandisco.com> wrote:
> Ivan Zhakov <ivan_at_visualsvn.com> writes:
>
>> As breser pointed on IRC all HTTP/1.1 applications MUST support
>> chunked transfer encoding. From RFC2616:
>> [[[
>> All HTTP/1.1 applications MUST be able to receive and decode the
>> "chunked" transfer-coding, and MUST ignore chunk-extension extensions
>> they do not understand.
>> ]]]
>>
>> And server is application:
>> [[[
>> server
>> An application program that accepts connections in order to service
>> requests by sending back responses.
>> ]]]
>
> On the other hand the RFC also says:
>
> http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.12
>
> 10.4.12 411 Length Required
>
> The server refuses to accept the request without a defined
> Content-Length. The client MAY repeat the request if it adds a valid
> Content-Length header field containing the length of the message-body in
> the request message.
>
> I assume the server can send this error since it is in the RFC. The
> client can only retry with a Content-Length request, not a chunked
> request. So it appears that the only chunked support a server needs is
> to be able to reply 411.
>
Should be fixed by r1495419 [1]:
[[[[
Rework server chunked transfer encoding support detection in ra_serf.
Use HTTP/1.1 chunked transfer encoding for first OPTIONS request and
then fallback to HTTP/1.0 requests if HTTP 411 status code or
HTTP/1.0 response received.
]]]
I've tested my fix with all publicly available servers like
unfuddle.com and xp-dev.com
[1] http://svn.apache.org/r1495419
--
Ivan Zhakov
CTO | VisualSVN | http://www.visualsvn.com
Received on 2013-06-21 14:52:10 CEST