Re: Semantics of multiple 103s in Early Hints

Hi Kazuho,

On Mon, Aug 07, 2017 at 10:43:21PM +0900, Kazuho Oku wrote:
> Hi,
> 
> As https://github.com/httpwg/http-extensions/pull/380, I have created
> a PR that clarifies the meaning of consecutive 103 responses sent
> before a final response. Basically, I consider it as an editorial
> issue, however I would appreciate it if you could give me comments
> (especially if you oppose to the text) before I merge.
> 
> The PR is in response to the issue
> (https://github.com/httpwg/http-extensions/issues/371) recently raised
> by Dragana. It asks if the following 103 replaces the header set
> included in an older 103 or if it is just adding headers to the older
> set, when multiple 103s are used.
> 
> My answer is that since the nonexistence of a header field in 103 is
> not a speculation that the header field would be absent in the final
> response, we should consider the following 103 as an addition of new
> header fields to the older 103 rather than a replacement of the header
> set; otherwise, we would be introducing a rule that is specific to the
> multiple 103 case. The PR clarifies that.

I agree with you on the principle but I think it should be presented
differently to make it easier to understand. If you explain that multiple
layers of server-side intermediaries are able to each return their own
set of well-known resources to preload, then the expected resource set
that the client ought to preload is supposed to be the union of all the
provided links.

For example a global CDN delivers a link to the JS used to protect all
their clients, then a reverse proxy on the origin site sends a few links
to the company's CSS and logo, and the frontend facing the application
server also sends the background image corresponding to the current page
being loaded. Some of them may overlap, being aware of some of the elements
used globally but not aware of what was delivered (eg: the last one may
reference again the CSS and the logo). In such a context it makes much
more sense to understand why the list of resources is expected to be the
union of all the links from multiple requests.

Regards,
Willy

Received on Monday, 7 August 2017 15:53:39 UTC