Re: Support for gzip at the server #424 (Consensus Call)

It might help to understand that chunked requests are universally
supported by servers but not universally supported by resources.

In particular, it is impossible to implement unlimited chunked
request bodies via a CGI script because that gateway protocol
requires the content-length be set in the environment variable
before the command is invoked. I think the same limitation is in
Servlets, because it was just a copy of CGI. In contrast, it is
trivial to implement request streaming with an Apache module, since
the server's protocol filter handles the chunks automatically
if told to do so.  It is also easy to implement limited request
buffers for a legacy back-end, configurable on a per-resource basis,
provided that sufficient protections against denial-of-sevice attacks
are in place.

It would be a terrible mistake to limit HTTP/2 to the worst
of old implementations.  That is the opposite of HTTP's design
for flexible extensibility.  There are hundreds (if not thousands) of
implementations of HTTP/1.1 that have no problem whatsoever with
compression, chunked encoding, or any of the other features of HTTP.
That is because the people installing them control the network in which
those features are enabled, and can remove any products that get them
wrong. HTTP/2 should focus on making features self-descriptive,
rather than inventing limitations on use.

....Roy

Received on Tuesday, 18 March 2014 21:01:20 UTC