prefetch
[25] リンク型 prefetch
は、
指定された資源を利用者が必要とする可能性が高く、
予めこれを fetch してキャッシュしておくのが有用である
(fetch するべき >>17) と示します >>22。
[23] リンク型 prefetch
は、 link
要素で指定でき、外部資源リンクを作成します >>22。
[24] このリンク型は body-ok です >>22。つまりこのリンク型の
link
要素は、 head
要素内のみならず、
body
要素内でも使えます。
[53] 著者は、 prefetch
link
要素よりも前に関係する
CSP meta
要素を置くべきです >>50。
[54] 著者は、 prefetch
Link:
ヘッダーを使うなら関係する
CSP ヘッダーも含めるべきです >>50。
[46] fetch は、obtain the resource によります >>21。
[49] 混合内容に関して optionally blockable です >>50。
[51] CSP や Referrer Policy が適用されます >>50。
[52] 適用するかどうか、利用者が設定できるようにすることができます >>50。
[28] 現在の navigate の処理への干渉するべきではありません。 そのために fetch を遅延させて構いません。 >>21
[18] 利用者エージェントは、指定された資源を前処理するべきではありません。 現在のページの文脈で自動的に実行・適用してはなりません。 >>17
[19] as
, crossorigin
が処理に反映されます。
[31] 利用者エージェントは、その判断により、投機的fetchを取り消しできます >>21。
[33] 利用者エージェントは、次の navigate があっても投機的fetchを継続するべきです >>21。
[29] obtain the resource により load
/error
イベントが発火されることになっています。しかし投機的fetch
の実行のタイミングは実装依存ですし、完全には処理されないかもしれません。
従ってできるだけ適切に発火するべきですが、
発火しなくても構いませんし、完全に処理せずとも発火することも認められています >>27。
[44] ユーザ設定をする - 超漢字ウェブサイト, , http://www.chokanji.com/ckv/manual/05-01-03.html
[45]
超漢字の標準WebブラウザーBBBはリンクを
「リンク色」、
「訪れたリンク色」
で区別する
[47] これを実現するためには当然ながらレンダリング時点ですべてのハイパーリンクを開いていたと思われます。 (さすがに無理があるのでデフォルトで無効だったのでしょう。)
[1] Link Prefetching FAQ http://www.mozilla.org/projects/netlib/Link_Prefetching_FAQ.html
[2] Link prefetching FAQ - MDC ( 版) https://developer.mozilla.org/ja/Link_prefetching_FAQ
<link rel="prefetch alternate stylesheet" title="Designed for Mozilla" href="mozspecific.css">
>>2 より。これ他のブラウザでも動くの?
[4] FireFox先読み機能対策(X-Moz : prefetch) - Yaibeen (yaibeen 著, 版) http://nucleus.yaibeen.com/item245.html
FireFox 1.5系のブラウザで当サイト(Nucleus)へアクセスするとページを表示させる度にxml-rss2.phpへのアクセスが発生します。 原因はFireFoxの機能である『先読み』であることはわかりました。※FireFox 2.0.0.2では同現象は確認できませんでした。 サーバへの負荷が気になるのでxml-rss2.phpへ対策用のコードを加えて(&修正)みました。 Nucleus側で『先読み:X-Moz: Prefetch』であることを判別し、2回目以降の先読みはレスポンスとして『HTTP/1.0 304 Not Modified』を返却します。これで転送量削減と、サーバへの負荷軽減になると思います。
ちなみにFireFox 2.0.0.2ではライブブックマークの更新時は『X-Moz:livebookmarks』という値を送信しているようです。1.5.0.10では『livebookmarks』という値は確認できませんでした。livebookmarksで購読者数のチェック等に使えるかもしれませんね。
[5] 2002年12月の XHTML2 仕様案でリンク型の ISSUE として prefetch
が検討対象として挙げられています。
[6] HTML5 Revision Tracker ( 版) http://html5.org/tools/web-apps-tracker?from=5247&to=5248
[7] [whatwg] Support of link rel=prefetch ( ( 版)) http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-December/038481.html
[8] Web Developer's Guide to Prerendering in Chrome - Google Chrome — Google Developers ( ( 版)) https://developers.google.com/chrome/whitepapers/prerender?hl=ja
[9] XML Binding Language (XBL) 2.0 ( ( 版)) http://www.w3.org/TR/2007/CR-xbl-20070316/#the-prefetch
[10] Add manifest and prefetch contexts. https://www.w3.org/Bugs/Public/show_... · ca784a7 · whatwg/fetch ( ( 版)) https://github.com/whatwg/fetch/commit/ca784a76050352fbc4ceb61e39ae71475197398c
[11] プリレンダリングとプリフェッチのサポート (Windows) ( 版) https://msdn.microsoft.com/library/dn265039(v=vs.85).aspx
[12] Merge pull request #53 from w3c/prefetch-relationship · w3c/preload@ab0f23c ( 版) https://github.com/w3c/preload/commit/ab0f23ca8aadf5aef94de62f03b1e23ef7510b56
[13] 'prefetch' is erroniously listed as optionally-blockable. · w3c/webappsec-mixed-content@01cc333 ( 版) https://github.com/w3c/webappsec-mixed-content/commit/01cc3336c1e87ebc1bfd6d5f02e87042c07e279e
[14] Allow pingback/prefetch/stylesheet links in body · whatwg/html@179983e ( 版) https://github.com/whatwg/html/commit/179983e9eb99efe417349a40ebb664bd11668ddd
[15] Link relations: add dns-prefetch/preconnect/prerender; update prefetch ( (domenic著, )) https://github.com/whatwg/html/commit/0f54b54307647ca15ace16ef03c570db1b918193
[16] Treat <link rel="next"> as a general resource hint ( (domenic著, )) https://github.com/whatwg/html/commit/7ff5b096d423bf5750463957aed69680368ed99e
[36] Introduce 'prefetch-src'. (#283) (mikewest著, ) https://github.com/w3c/webappsec-csp/commit/91adc4ab7beb21bcc05e3ebeeb035d2745c7817d
[37] Specify behavior of prefetch requests · Issue #107 · w3c/webappsec-csp () https://github.com/w3c/webappsec-csp/issues/107
[38] Introduce 'prefetch-src'. Closes w3c/webappsec-csp#107. by mikewest · Pull Request #283 · w3c/webappsec-csp () https://github.com/w3c/webappsec-csp/pull/283
[39] Add prefetch and prerender initiators (yoavweiss著, ) https://github.com/whatwg/fetch/commit/d5d084096392f2c47841308952a76751bafdd375
[40] Add a `prefetch` initiator by yoavweiss · Pull Request #659 · whatwg/fetch () https://github.com/whatwg/fetch/pull/659
[41] Introduce 'prefetch-src'. Closes w3c/webappsec-csp#107. by mikewest · Pull Request #283 · w3c/webappsec-csp () https://github.com/w3c/webappsec-csp/pull/283
[42] Request.destination for `<link rel=prefetch>` · Issue #658 · whatwg/fetch () https://github.com/whatwg/fetch/issues/658