Re: Experiences with HTTP/2 server push

On Sun, Aug 14, 2016 at 6:58 PM, Kazuho Oku <> wrote:
> Generally speaking, a server should respect the priority tree
> constructed by the client if it considers the client's knowledge of
> how the responses should be ordered superior to the knowledge of the
> server. OTOH, if a server considers itself to have better knowledge on
> how to prioritize the streams, then it should ignore client-driven
> prioritization.
> Since the client cannot accurately prioritize a pushed stream until
> client observes how the resource is used, server-driven prioritization
> of pushed streams is necessary until client updates the priority of a
> pushed stream.
> So our approach is to create a separate tiny pool of streams _above_
> the HTTP/2 prioritization tree, and initially register the pushed
> streams with certain media types (e.g. CSS, JavaScript) to the tiny
> pool. The server does not send PRIORITY frames for the pushed streams.
> This means that until the client sends a PRIORITY frame to update the
> precedence of a pushed stream, pushed CSS and JS will be sent before
> any other responses. Once the server receives a PRIORITY frame, then
> the pushed streams will be prioritized as specified by the client.

Belated response: I think this is the right approach and I think Apache
should switch to an implementation more like this.

Received on Wednesday, 24 August 2016 17:20:33 UTC