Subject: Server Push request header fields

From: RUELLAN Herve <[email-masked]>
Date: Thu, 30 Jan 2014 17:29:43 +0000

I noticed that we have some inconsistence in how request header fields are defined for a pushed resource in the spec.

In 8.2.1, the request header fields for a pushed resourced are defined as the header fields in the PUSH_PROMISE.
In 10.4, they are defined as a combination of the request that triggered the push, plus resource identification information provided by the server.

We have two solutions for making this consistent.

Using only the header fields in the PUSH_PROMISE is probably the simplest solution, but makes the protocol more chatty as some headers present in the initial request will be repeated in the PUSH_PROMISE (in particular cookies...). However, a server will probably push more than one resource, and HPACK will deal in most part with these repetitions.

The other solution is to use a combination of the initial request and the PUSH_PROMISE. It's more complex and we need to define clear rules for handling this. It also may prove more complex to handle in implementations, in particular for proxies.

I tend to prefer the first solution which seems simpler and cleaner.

Hervé.

---

From: Martin Thomson <[email-masked]>
Date: Thu, 30 Jan 2014 14:46:37 -0800

> In 10.4, they are defined as a combination of the request that triggered the push, plus resource identification information provided by the server.

That's a vestige of an earlier attempt to switch to what is described
in 8.2.1.  We already discussed making PUSH_PROMISE self-contained.
I've fixed 10.4.