Re: Deploying new expectation-extensions

mån 2008-04-07 klockan 17:25 +0100 skrev Jamie Lokier:

> Breaking with HTTP/1.0 proxies and servers is quite a good reason not
> to use chunked requests for general purpose HTTP over "the internet".

> I don't buy the argument that once you've seen a HTTP/1.1 response
> from a domain, you can assume it's a HTTP/1.1 server and proxy chain
> for all future requests to that domain.

If you are not using a proxy you can, even without knowing it's an
HTTP/1.1 server.

If you are using a proxy things do get a little fuzzier, but generally
it's a safe bet assuming the proxy follows specifications and the client
uses Expect: 100-continue.. (optional, but helps..)

> It's very likely, but not
> reliable.  Proxy routes change, reverse proxies route requests to
> different servers depending on URL, etc.

You should use Expect: 100-continue, and be prepared to resend the
request with a content-length if you see a 411 or 417 response.

But yes, it still MAY end up in odd situations until the world is
HTTP/1.1. Fortunately things do progress towards that..

> As a result, there hasn't been a perceived need or any testing of
> chunked requests to servers, and even today, some otherwise good
> HTTP/1.1 servers don't support chunked requests.

I assume they at least respond with a 411. If not they are not HTTP/1.1
servers..


Anyway, what I was coming to is that the mechanism needed is specified
in HTTP/1.1. Specifying it again in HTTP/2.0 isn't likely to render any
significantly better results for as long as compatibility with HTTP/1.0
is required, only add it's own set of complications..

We are now in the situation that chunked encoding for requests is
starting to be considered a useful feature if supported. With a little
pressure server vendors will fix up their support and proxy vendors
follow, and in some years (well.. several) it will quite likely be a
generally useful mechanism with failure being the exceptional situation
rather than the expected one...

Regards
Henrik

Received on Monday, 7 April 2008 19:22:10 UTC