-
Notifications
You must be signed in to change notification settings - Fork 4
/
268.txt
94 lines (70 loc) · 5.08 KB
/
268.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
[10] [[HTML構文解析器]]の [DFN[[[preload scanner]]]] は、
[[構文解析器]]本体の処理に先立って予備的な[[構文解析]]を行い、
参照されている外部の[[資源]]の[[ネットワーク]]からの読み込みを予め行うものです。
[11] [[HTML]] では [CODE(HTMLe)@en[[[script]]]] [[要素]]内の[[スクリプト]]から
[CODE(JS)@en[[[document.write]]]] を呼び出すことによって[[構文解析器]]に干渉できるため、
[[スクリプト]]が完了するまで [CODE(HTMLe)@en[[[script]]]] [[要素]]より先の[[構文解析]]を進めることができません。
[CODE(HTMLe)@en[[[script]]]] [[要素]]より先で外部の[[資源]]が参照されている場合、
その読み込みは[[スクリプト]]実行の完了を待つ必要があります。
[[prealod scanner]] はこの読み込み待ち時間を節約するために導入されました。
* 標準化
[13] [[preload scanner]] の動作やその存在自体も[[著者]]から直接に観察可能ではありませんから、
[[Web]] 関連の仕様書の要件としては記述されていません。
;; [15] 厳密には[[鯖側]]でアクセスの有無とタイミングを確認すれば、
[[著者]]から観測可能なこともあります。しかし [[preload scanner]]
に限らずネットワークアクセスの有無やタイミング、厳密な順序関係などはネットワークの輻輳状態や
[[OS]] のプロトコルスタックの実装と状態、その他様々な要因で変動しますから、
それによって[[相互運用性]]に影響が出るとは考えにくく、
標準化の対象にはなっていません。
[16] しかし [[preload scanner]] との整合性は新機能の導入時には常に考慮されています。
[17] とはいえあくまで [[preload scanner]] は実装のパフォーマンス向上戦略の1つに過ぎず、
[[構文解析器]]の必須の構成要素ではありません。すべての [[Webブラウザー]]が
[[preload scanner]] を有しているわけではありませんし、その必要もありません。
* 歴史
[12] [[preload scanner]] ははじめ [[WebKit]] ([[Blink]] の [[fork]] 前)
に実装され、後に [[Gecko]] でも実装されました。
[1] [CITE[''''''[''''''whatwg'''''']'''''' <imgset> responsive imgs proposition (Re: The src-N proposal)]]
( ([TIME[2013-11-12 20:52:48 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2013-November/041434.html>
[2] [CITE[''''''[''''''whatwg'''''']'''''' <imgset> responsive imgs proposition (Re: The src-N proposal)]]
( ([TIME[2013-11-12 20:52:48 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2013-November/041418.html>
[3] [CITE[''''''[''''''webkit-dev'''''']'''''' Regarding the preload scanner in WebKit]]
( ([TIME[2010-12-31 12:09:49 +09:00]] 版))
<https://lists.webkit.org/pipermail/webkit-dev/2010-December/015501.html>
[4] [CITE[Surfin' Safari - Blog Archive » Optimizing Page Loading in the Web Browser]]
( ([TIME[2014-07-21 03:30:35 +09:00]] 版))
<https://www.webkit.org/blog/166/optimizing-page-loading-in-web-browser/>
[5] [CITE[Preconnect, prefetch, prerender... - Google スライド]]
( ([TIME[2014-07-21 03:34:22 +09:00]] 版))
<https://docs.google.com/presentation/d/18zlAdKAxnc51y_kj-6sWLmnjl6TLnaru_WH0LJTjP-o/present#slide=id.g120f70e9a_096>
[6] [CITE@en[The picture Element]]
( ([TIME[2014-07-01 05:34:08 +09:00]] 版))
<http://picture.responsiveimages.org/#preloader>
[7] [CITE[Bug 106198 – PreloadScanner preloads external CSS with non-matching media attribute]]
( ([TIME[2014-07-21 03:37:50 +09:00]] 版))
<https://bugs.webkit.org/show_bug.cgi?id=106198>
[8] [CITE@ja[「Google Chrome 27」がベータ版に - 窓の杜]]
( ([[株式会社Impress Watch]] 著, [TIME[2014-07-21 03:45:21 +09:00]] 版))
<http://www.forest.impress.co.jp/docs/news/20130408_594976.html>
[9] [CITE@en[The “ch” unit, the Threaded HTML parser and Chromium 27 « Peter Beverloo]]
( ([TIME[2014-07-21 03:46:15 +09:00]] 版))
<http://peter.sh/2013/02/the-ch-unit-the-threaded-html-parser-and-chromium-27/>
[14] [CITE@en[REFERRER: Clarify interaction with preload scanner · f95dd19 · w3c/webappsec]]
( ([TIME[2014-08-13 12:16:50 +09:00]] 版))
<https://github.com/w3c/webappsec/commit/f95dd19ccc780a184ebe2baab69bc6ecae97ed07>
* 関連
[18] [CODE(HTML)@en[[[rel=preload]]]] や [CODE(HTML)@en[[[<video preload>]]]]
とは直接関係ありません。
[19] [CITE[Fastersite: The WebKit PreloadScanner]]
( ([TIME[2014-01-24 08:35:48 +09:00]] 版))
<http://gent.ilcore.com/2011/01/webkit-preloadscanner.html>
[20] [CITE@en-US[CSS Preload Scanner in WebKit]]
( ([TIME[2014-09-03 04:17:07 +09:00]] 版))
<http://ariya.ofilabs.com/2013/04/css-preload-scanner-in-webkit.html>
[21] [CITE[チェンジセット 61366 – WebKit]]
( ([TIME[2014-09-03 04:18:45 +09:00]] 版))
<http://trac.webkit.org/changeset/61366>
[22] [CITE[Bug 40802 – Add CSS scanning to HTML5PreloadScanner]]
( ([TIME[2014-09-03 04:19:00 +09:00]] 版))
<https://bugs.webkit.org/show_bug.cgi?id=40802>