Connection: header in HTTP/2

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.

Thoughts ?

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk@FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.

Received on Monday, 8 September 2014 07:19:14 UTC

Follow Lee on X/Twitter - Father, Husband, Serial builder creating AI, crypto, games & web tools. We are friends :) AI Will Come To Life!

Check out: eBank.nz (Art Generator) | Netwrck.com (AI Tools) | Text-Generator.io (AI API) | BitBank.nz (Crypto AI) | ReadingTime (Kids Reading) | RewordGame | BigMultiplayerChess | WebFiddle | How.nz | Helix AI Assistant