Re: Connection: header in HTTP/2

Hi Poul-Henning,

On Mon, Sep 08, 2014 at 07:18:48AM +0000, Poul-Henning Kamp wrote:
> I have been trying to figure out how the "Connection:" HTTP header
> works in HTTP/2.0.
> 
> The Connection: header is strictly hop-by-hop, so we don't need to
> consider version translation issues, it doesn't cross proxies.
> 
> In HTTP/1.1 the Connection: header is used for two things:  Marking
> headers as hop-by-hop and managing TCP connections.
> 
> I think we should retain the ability to mark headers hop-by-hop.
> I can see the benefit in being able to send headers only to the
> first proxy.
> 
> Managing TCP connections is out-of-band in HTTP/2.0, so sending
> "Connection: close" or "Connection: keepalive" inside a HTTP/2.0
> multiplex doesn't make any sense, should not happen and I think
> we should make that an explicit SHALL NOT.
> 
> The general way to do that would be to make it a stream-error in
> HTTP/2.0 if Connection: tries to make a non-existent header hop-by-hop.

I don't think this extra check would provide any value, to be honnest. The
only real trouble we can have with Connection: is when it marks an end-to-end
header hoping that a further 1.1 proxy in the chain will remove it (eg: Host
after passing through filtering proxies).

Willy

Received on Tuesday, 9 September 2014 05:50:33 UTC