Link preload warning displayed when resource wasn't preloaded
Reported by
eoghan.m...@learnosity.com,
Jan 3 2017
|
|||
Issue descriptionGoogle 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#
,
Jan 10 2017
,
Sep 25 2017
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 |
|||
Comment 1 by ajha@chromium.org
, Jan 4 2017