New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 678050 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner:
Last visit > 30 days ago
Closed: Sep 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Link preload warning displayed when resource wasn't preloaded

Reported by eoghan.m...@learnosity.com, Jan 3 2017

Issue description

Google Chrome	55.0.2883.95 (Official Build) (64-bit)
Revision	a97b1aab33877677c4734c58ed41246aa40942b7-refs/branch-heads/2883@{#738}
OS	Mac OS X 
JavaScript	V8 5.5.372.33
Flash	24.0.0.186
User Agent	Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36

Web server
nginx/1.10.0 on Ubuntu 16.04 (does not support http2 server push)


What steps will reproduce the problem?
(1) Load a web page page from a http2 server that does not support server-push but is configured to send a link header. 

What is the expected result?
- Link preload warning should not be displayed, since the resource has not actually been pushed. (Can be verified in the devtools network tab)

What happens instead?
- This warning appears after a few seconds:

The resource https://http2-poc.dev/dist/api.js was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it wasn't preloaded for nothing.


Files are served from https://http2-poc.dev using nginx/1.10.0 (Ubuntu). The vhost is configured to send a link header to preload </dist/api.js> (which is predictably ignored by the server as it doesn't support push). The configuration file is attached.

I'm also seeing this warning appear when the resource (a js script) IS pushed (using apache instead of nginx, with similar config) and used by the browser (loaded and executed) well before "a few seconds" has passed.

Related:
https://bugs.chromium.org/p/chromium/issues/detail?id=661055&q=Please%20make%20sure%20it%20wasn%27t%20preloaded%20for%20nothing.&colspec=ID%20Pri%20M%20Stars%20ReleaseBlock%20Component%20Status%20Owner%20Summary%20OS%20Modified#
 
nginx-vhost.conf
559 bytes Download

Comment 1 by ajha@chromium.org, Jan 4 2017

Labels: Needs-Triage-M55
Cc: kkaluri@chromium.org
Labels: TE-NeedsTriageHelp

Comment 3 by y...@yoav.ws, Sep 25 2017

Owner: y...@yoav.ws
Status: WontFix (was: Unconfirmed)
Preload is not H2 push and you seem to be conflating the two. <link rel=preload> is a signal the browser uses in order to preload the resource, which may also be used as a server side signal for push. In this case, despite the server's lack of support for H2 push, you're sending the signal to the browser, and it's behaving as expected.

Regarding "I'm also seeing this warning appear when the resource (a js script) IS pushed (using apache instead of nginx, with similar config) and used by the browser (loaded and executed) well before "a few seconds" has passed." - if you still see this, please send a test case that reproduces it and I'll take a look.

Sign in to add a comment