[10] HTML構文解析器の preload scanner は、 構文解析器本体の処理に先立って予備的な構文解析を行い、 参照されている外部の資源のネットワークからの読み込みを予め行うものです。
[11] HTML では script
要素内のスクリプトから
document.write
を呼び出すことによって構文解析器に干渉できるため、
スクリプトが完了するまで script
要素より先の構文解析を進めることができません。
script
要素より先で外部の資源が参照されている場合、
その読み込みはスクリプト実行の完了を待つ必要があります。
prealod scanner はこの読み込み待ち時間を節約するために導入されました。
[13] preload scanner の動作やその存在自体も著者から直接に観察可能ではありませんから、 Web 関連の仕様書の要件としては記述されていません。
[16] しかし preload scanner との整合性は新機能の導入時には常に考慮されています。
[17] とはいえあくまで preload scanner は実装のパフォーマンス向上戦略の1つに過ぎず、 構文解析器の必須の構成要素ではありません。すべての Webブラウザーが preload scanner を有しているわけではありませんし、その必要もありません。
[18] rel=preload
や <video preload>
とは直接関係ありません。
[12] preload scanner ははじめ WebKit (Blink の fork 前) に実装され、後に Gecko でも実装されました。
[1] [whatwg] <imgset> responsive imgs proposition (Re: The src-N proposal) ( ( 版)) http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2013-November/041434.html
[2] [whatwg] <imgset> responsive imgs proposition (Re: The src-N proposal) ( ( 版)) http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2013-November/041418.html
[3] [webkit-dev] Regarding the preload scanner in WebKit ( ( 版)) https://lists.webkit.org/pipermail/webkit-dev/2010-December/015501.html
[4] Surfin' Safari - Blog Archive » Optimizing Page Loading in the Web Browser ( ( 版)) https://www.webkit.org/blog/166/optimizing-page-loading-in-web-browser/
[5] Preconnect, prefetch, prerender... - Google スライド ( ( 版)) https://docs.google.com/presentation/d/18zlAdKAxnc51y_kj-6sWLmnjl6TLnaru_WH0LJTjP-o/present#slide=id.g120f70e9a_096
[6] The picture Element ( ( 版)) http://picture.responsiveimages.org/#preloader
[7] Bug 106198 – PreloadScanner preloads external CSS with non-matching media attribute ( ( 版)) https://bugs.webkit.org/show_bug.cgi?id=106198
[8] 「Google Chrome 27」がベータ版に - 窓の杜 ( (株式会社Impress Watch 著, 版)) http://www.forest.impress.co.jp/docs/news/20130408_594976.html
[9] The “ch” unit, the Threaded HTML parser and Chromium 27 « Peter Beverloo ( ( 版)) http://peter.sh/2013/02/the-ch-unit-the-threaded-html-parser-and-chromium-27/
[14] REFERRER: Clarify interaction with preload scanner · f95dd19 · w3c/webappsec ( ( 版)) https://github.com/w3c/webappsec/commit/f95dd19ccc780a184ebe2baab69bc6ecae97ed07
[19] Fastersite: The WebKit PreloadScanner ( ( 版)) http://gent.ilcore.com/2011/01/webkit-preloadscanner.html
[20] CSS Preload Scanner in WebKit ( ( 版)) http://ariya.ofilabs.com/2013/04/css-preload-scanner-in-webkit.html
[21] チェンジセット 61366 – WebKit ( ( 版)) http://trac.webkit.org/changeset/61366
[22] Bug 40802 – Add CSS scanning to HTML5PreloadScanner ( ( 版)) https://bugs.webkit.org/show_bug.cgi?id=40802
[23] Introducing NoState Prefetch | Web | Google Developers () https://developers.google.com/web/updates/2018/07/nostate-prefetch
[24] Allow authors to apply new css features (like cascade layers) while linking stylesheets · Issue #240 · whatwg/meta · GitHub, https://github.com/whatwg/meta/issues/240