Summary: | Use of HTTP/2 push cache seems inconsistent | ||
---|---|---|---|
Product: | WebKit | Reporter: | Jake Archibald <jaffathecake> |
Component: | Page Loading | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW --- | ||
Severity: | Major | CC: | achristensen, beidson, cdumez, danyao, joepeck, koivisto, logantm, mnot, webkit-bug-importer, wilander, youennf |
Priority: | P2 | Keywords: | InRadar |
Version: | Safari Technology Preview | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Description
Jake Archibald
2017-05-26 03:33:52 PDT
Thanks for filing. HTTP/2 networking, such as server push, is handled beneath WebKit, by the port's networking layer. However, its certainly possible that how WebKit interacts with the networking layer might contribute to some of the inconsistency (e.g. if it correctly or incorrectly cached a non-pushed response). Could you add a brief readme to the http2-push-test github project for how to use it? From the video it looks like you use a `yarn` tool. I'm sure we can figure out how to get it working but a readme would help. I'll update the readme, but yarn was just running the command "dev" found in the "scripts" section of package.json. You'll need node & npm install. (I will update the readme, but I hope this helps until then) My gut feeling is that some of this is down to WebKit (too many connections in the pool), but the way a single item in the push cache is being used too many times… that may be a problem at a lower level. If it is an issue at a lower level, where should it be filed? I've updated the readme https://github.com/jakearchibald/http2-push-test/blob/master/README.md - sorry that wasn't there already. (In reply to Jake Archibald from comment #4) > My gut feeling is that some of this is down to WebKit (too many connections > in the pool), but the way a single item in the push cache is being used too > many times… that may be a problem at a lower level. If it is an issue at a > lower level, where should it be filed? The network stack under WebKit is not open source on Cocoa platforms which means filing a radar: https://developer.apple.com/bug-reporting/ > I've updated the readme > https://github.com/jakearchibald/http2-push-test/blob/master/README.md - > sorry that wasn't there already. Any suggestions on how we can debug this a bit more to confirm that the issue is all in the network layer? (In reply to Danyao Wang from comment #6) > Any suggestions on how we can debug this a bit more to confirm that the > issue is all in the network layer? I would check whether the fact that we have two sessions at least (credentials/no credentials) is one reason of this behavior. If we have two sessions, we might have two HTTP/2 connections and then two HTTP/2 push caches. Nah, this separate to the credential/non-credential split. The demo in the OP shows multiple connections being used for credentialed fetches. |