- From: 陈智昌 <willchan@chromium.org>
- Date: Thu, 25 Apr 2013 22:29:07 -0700
- To: Roberto Peon <grmocg@gmail.com>
- Cc: Martin Thomson <martin.thomson@gmail.com>, James Snell <jasnell@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>
- Message-ID: <CAA4WUYgvC_EbEkhMFsH_KuK3U5O=csGAFKmdw1XVn6P6R8h0pw@mail.gmail.com>
We have not proposed a reprioritization frame since there was some mild resistance before at the Tokyo interim meeting, although most of that concern was about the larger prioritization proposal and not strictly reprioritization. We promised to go get data and come back and report. We have not gotten said data yet (it's in progress), so I don't have much to report (no data, only status if people are interested. I'm inclined to wait until I have data). If reprioritization is not controversial, then we can go ahead and propose a frame for that and revisit the rest of the larger prioritization proposal when we have data. As far as the priority being useless to send with push streams, the only reason I can see that as being useful is perhaps saving a reprioritization frame (meh) or if you have a "smart" server that's doing some learning process to decide how to prioritize push streams in absence of client information, then perhaps this would allow for informing the client as you're learning. That's a weak argument too because you can just log that information server side to evaluate your learning process. Actually, if we don't strictly assume HTTP style client initiated request/response application protocol semantics, then at the framing layer with fully bidirectional streams, the server may be requesting that the client send data back to the server according to the server advisory priority. That is, since streams are bidirectional, you can imagine servers initiating a request/response pair. Now, as to the push stream priority default, in general for a web browsing case, the "parent" stream will be the root document of a page load, and the push streams will be subresources, which should generally be lower priority than the root document. So I don't think priority inheritance is advisable for this scenario, and at least for the HTTP case, it's not really important since it's a server-side implementation detail - in absence of client advisory priorities, the server just sends streams in whatever order it wants. No need to spec a required default or anything, let server implementations innovate here. A reprioritization frame would enable the client to send advisory priorities here to better inform the server. And I would recommend we allow clients to do so. On Thu, Apr 25, 2013 at 7:36 PM, Roberto Peon <grmocg@gmail.com> wrote: > I am traveling but should be back by Monday. I'll be slow before then as > I'm having to type in the phone. > On Apr 25, 2013 6:50 PM, "Martin Thomson" <martin.thomson@gmail.com> > wrote: > >> Good point. The hope was that a reprioritization frame would be >> proposed (Will, Roberto, we're all still waiting). >> >> If that's enough, then adding a default (maybe 2^30) would fix this. >> >> On 25 April 2013 11:03, James M Snell <jasnell@gmail.com> wrote: >> > https://github.com/http2/http2-spec/issues/75 >> > >> > The current draft (-02) says, "The endpoint establishing a new stream >> > can assign a priority for the stream." >> > >> > However, the spec does not define how a stream established using >> > PUSH_PROMISE can assign the priority for a stream, nor does the spec >> > discuss whether the notion of stream priority applies to push streams. >> > >> > The spec currently states that PUSH_PROMISE is followed later on by a >> > HEADERS frame. >> > >> > If priority applies to push streams, then we need to add that priority >> > can be assigned by allowing the use of a HEADERS+PRIORITY frame. >> > Otherwise, we need to clarify the spec text to say that push streams >> > have no priority. >> > >> >>
Received on Friday, 26 April 2013 05:29:34 UTC