- From: 陈智昌 <willchan@chromium.org>
- Date: Sun, 28 Apr 2013 14:54:05 -0700
- 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>
- Message-ID: <CAA4WUYgpavHXf2VqUkp=jH_y6vmdq=GiVJG5=A=h3J8opRPoMQ@mail.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