- From: Amos Jeffries <squid3@treenet.co.nz>
- Date: Thu, 26 Jan 2012 03:21:03 +1300
- To: ietf-http-wg@w3.org
On 25/01/2012 10:12 p.m., Poul-Henning Kamp wrote: > In message<20120125064534.GE32580@1wt.eu>, Willy Tarreau writes: > >> That said, there are a number of other issues in HTTP/1.1 that we could get >> rid of when switching to a new protocol : >> - get rid of the Host header and only use absolute URIs > +1 > >> - get rid of content-length and only use transfer-coding (and get rid of >> 3 pages in the spec which explain how to determine a message's length) > Actually your remaining three ideas can be combined into one idea: > > - Clearly split transport metadata from content metadata, for instance > by putting a blank line between them. > > That removes the need for a Connection header to say which transport > metadata to strip. > > I would add a new header that tells how many seconds the connection > can be idle before it is closed. A value of zero has same semantics > as "Connection: close" has today. > > That split also avoids the need to even parse the content metadata > for purposes of transport. > > I have just been thinking it would be good to go further than this. If we mandate chunking, it can start immediately after the request-line. With the first chunk being the transport headers. Second chunk the hop-by-hop headers. Then a chunk for end-to-end and others. That will give parsers the size of those header blobs up front so they can process or skip faster than trolling through for what is needed. By avoiding the assumption that the empty line is easily detectable we also avoid smuggling attacks a bit cleaner (not 100%, but easier) than present approaches can achieve. AYJ
Received on Wednesday, 25 January 2012 14:21:44 UTC