W3C home > Mailing lists > Public > ietf-http-wg@w3.org > April to June 2013

Re: Design Issue: HEADERS+PRIORITY "MUST be used" for each stream that is created??

From: (wrong string) 陈智昌 <willchan@chromium.org>
Date: Sun, 28 Apr 2013 14:54:05 -0700
Message-ID: <CAA4WUYgpavHXf2VqUkp=jH_y6vmdq=GiVJG5=A=h3J8opRPoMQ@mail.gmail.com>
To: James M Snell <jasnell@gmail.com>
Cc: Roberto Peon <grmocg@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>, Martin Thomson <martin.thomson@gmail.com>
My connection is spotty right now in Buenos Aires, or else I'd pull up the
websocket over spdy proposal from the Google team and also the
spdy-dev@discussion on it. In all cases, a SPDY SYN_STREAM (now HTTP/2
HEADERS+PRIORITY) was used to initiate the stream. I think Roberto's right
about announcing the endpoint (requires the full URL, due to connection
sharing, scheme, and path). I think it's reasonable to require a stream
creation frame (HEADERS+PRIORITY or HEADERS) for each stream before data is
sent.


On Sat, Apr 27, 2013 at 11:17 PM, James M Snell <jasnell@gmail.com> wrote:

> Minor correction on my note... I meant to say we don't really seem to have
> a good reason to allow data frames *without* preceding header bearing
> frames.
> On Apr 27, 2013 2:44 PM, "Roberto Peon" <grmocg@gmail.com> wrote:
>
>> The WS case may actually require headers as we do need to announce (per
>> WS 'connection') the URL of the endpoint to which it is
>> attaching/connecting.
>> -=R
>>
>>
>> On Fri, Apr 26, 2013 at 1:54 PM, James M Snell <jasnell@gmail.com> wrote:
>>
>>> Well, until that case is made, we don't have very many good reasons to
>>> allow DATA frames with preceding headers-bearing frames. Also, keep in
>>> mind that it's perfectly legal to send a HEADERS frame with an empty
>>> set of HEADERS. It the WebSockets case does not require any preceding
>>> headers (which I rather doubt), it would still be simple enough to
>>> send an empty HEADERS frame to establish the stream before sending the
>>> DATA frames.
>>>
>>>
>>> On Fri, Apr 26, 2013 at 1:49 PM, Martin Thomson
>>> <martin.thomson@gmail.com> wrote:
>>> > On 26 April 2013 13:43, James M Snell <jasnell@gmail.com> wrote:
>>> >> I think I disagree on that point and say that I think it's much safer
>>> >> if we require that streams be initiated with only headers-bearing
>>> >> frames.
>>> >>
>>> >> Imagine, for instance, that a sender sends along a DATA frame with a
>>> >> new, previously unused stream identifier. Without an associated
>>> >> headers frame I have absolutely no context with which to determine
>>> >> what I need to do with that DATA frame. Likewise if I receive an
>>> >> RST_STREAM that references a previously unused stream identifier. If
>>> >> there's absolutely nothing that I can reliably do with it, or not
>>> >> reliable way that I can interpret it without additional context, then
>>> >> we should not allow it.
>>> >
>>> > I believe that this is exactly the scenario that the websockets
>>> > binding will take advantage of.  (Maybe there is some need to expose
>>> > some header information there, but that's a case that needs to be made
>>> > for that specific use of the framing layer.)
>>>
>>>
>>
Received on Sunday, 28 April 2013 21:54:33 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 1 March 2016 11:11:12 UTC