-
Notifications
You must be signed in to change notification settings - Fork 824
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Chrome having difficulties with h2o push - erratic behaviour #1302
Comments
Further info: In order to ensure that TLSv1.3 was not the reason for the problems I ran some of the tests with |
Really looks like a regression in Chrome: I downgraded h2o to 2.1.0 on a test instance and saw the same erratic behaviour. I have never seen this in the past - with any browser. |
FWIW, I'm seeing this too on Chrome 57 and 58. Here's the relevant extract from chrome://net-internals:
We clearly see Chrome getting the full pushed stream, associating it with the request in |
Cannot confirm for chrome 59 and tls1.2, seems to be a chrome regression. Link preload header used to be buggy in past versions without an as="style" attribute. Also tried Chrome 57.0.2987.133 and i cannot observe the behaviour (now). |
As suggested by Pat Meenan at WebPagetest.org and @worenga I tried it with the relative "as" attribute, and this seems to solve the issue! I will submit another issue regarding the h2o documentation, which (wrongly) leaves out this attribute. |
Why is there in the request? Can you also send us the pushed stream headers please? |
The server does not send the no-cache headers. If you look above, the server answers with If you could tell me, how to record the pushed stream headers, I will gladly post them here. But again, the problem seems to have been solved by adding the relative "as" attribute to the preload links. I am 99% sure that the problem was due to some changes in Chrome, as the exact same setup used to work flawlessly with Chrome. After having tested an earlier version of h2o I was able to confirm that the problem - without the "as" - was there, too. So really, it looks like it has to do with the "as"-attribute and some changes in Chrome. |
They're available under chrome://net-internals/#http2 . I made a screen cast demo'ing how to get them: https://yay.im/get-headers.mp4 |
@utrenkner Do you mind if I re-use the WPT links in a Chrome bug report? I would like to get to the bottom of why Chrome is re-fetching the resources. |
@deweerdt i still think it is a regression since i cannot reproduce it in newer chrome versions. |
@worenga a regression of Chrome or H2O? I'm going to setup a server that uses |
@deweerdt Please feel free to use the WPT-results in the bug report. Thank you for asking. I would be interested in following that bug report - may I ask you to post the link, once you have filed the bug report? |
I ended up not filing a chromium bug, because https://bugs.chromium.org/p/chromium/issues/detail?id=655698 is already tracking the issue on their side. I think that we're good with a change of docs in h2o. |
I assume it is a Chrome issue - but I would like to know if others seeing this, too:
Chrome unpredictably reloads resources already pushed to the client. I ran tests on several WebPagetest instances and sometimes it works flawlessly, but sometimes Chrome re-downloads some or all of the resources. Tests with Firefox went always ok.
Examples of problems with Chrome and push:
https://www.webpagetest.org/result/170516_GX_TER/
https://www.webpagetest.org/result/170516_QH_TPV/
No problems with Firefox:
https://www.webpagetest.org/result/170516_AS_T1X/
If others can confirm, I would try configure h2o to not push to Chrome until the issue is resolved.
The text was updated successfully, but these errors were encountered: