- From: Mike Belshe <mike@belshe.com>
- Date: Fri, 5 Jul 2013 11:48:40 -0700
- To: Michael Sweet <msweet@apple.com>
- Cc: Amos Jeffries <squid3@treenet.co.nz>, httpbis mailing list <ietf-http-wg@w3.org>
- Message-ID: <CABaLYCvj1vuwMM2z7Pp3hLnR2zk-dE=tALJo8ifm8gwNXGzOnA@mail.gmail.com>
On Fri, Jul 5, 2013 at 11:31 AM, Michael Sweet <msweet@apple.com> wrote: > Mike/Amos, > > On 2013-07-05, at 1:19 PM, Mike Belshe <mike@belshe.com> wrote: > > ... >> Since this is being built as an upgrade on HTTP/1 and many implementers >> will have an HTTP/1 terminology background it would seem easier to use that >> terminology for these things. The suggested "START_STREAM" was once called >> "request headers" or "reply headers" depending on direction. It is now >> combined into one frame type for both directions so perhapse dropping the >> initial word and just calling it a HEADERS will be more familiar to >> implementers, yes? >> > > I'm looking for a name that indicates "beginning" or "start". HTTP/1 > doesn't have framing, of course, but does offer "Section 5. Request". It's > a logical start point -- make a request. > > > Something that's bugged me a little is that the context/directionality of > the HEADERS frame type - you make certain assumptions that if you receive a > HEADERS frame then you work with one header table and if you send a HEADERS > frame then you work with a different table. Whether you are receiving or > sending request or response headers is implied by your role in a > connection, and that is state you need to maintain and use in your > implementation and clearly document, particularly in any generic > client/server code that is shared between the two sides. > > What if instead we had two frame types: REQUEST_HEADERS and > RESPONSE_HEADERS? Both would carry headers like the current HEADERS frame > type, but the type of headers would be clearly defined by the frame type > and perhaps be easier/less error prone to understand and implement. > Historically, the reason we didn't go this way before is because the framing layer has no request/response requirement by itself. However, I realize HTTP is request/response (push excluded), and we're not building a generic framing layer. Net result: I do agree your naming is clearer than the current 'headers' frame, so I like that angle. It would also make pushed streams more self-documenting too - as receiving a response_header block makes it clear what the push is, even though there was no formal request. > (I don't see a need for two DATA frame types - DATA always follows headers > and just depends on direction and the request/response type...) > No - this is different. We apply compression to the headers that doesn't make sense on the data blocks. Whether this is differentiated by frame type or something else, its key. Mike > > _________________________________________________________ > Michael Sweet, Senior Printing System Engineer, PWG Chair > >
Received on Friday, 5 July 2013 18:49:08 UTC