DNS Prefetching

DNS prefetch (Web)

仕様書

リンク型 dns-prefetch

[25] リンク型 dns-prefetch は、 指定された資源起源にある資源利用者が必要とする可能性が高く、 予め当該起源DNS 名前解決をしておくことで利用者の体験を向上させられることを示します >>22。 これは利用者エージェントが可能な限り早く行うべきものです >>8

[23] リンク型 dns-prefetch は、 link 要素で指定でき、外部資源リンクを作成します >>22

[24] このリンク型body-ok です >>22。つまりこのリンク型link 要素は、 head 要素内のみならず、 body 要素内でも使えます。

[11] Link: ヘッダーでも指定できます >>10

[9] href 属性URL に特に制約はありませんが、 userinfoportquery素片は指定しても意味が無い可能性が極めて高いです。 ネットワークスキーム以外の指定も意味が無さそうです。

[53] 著者は、 dns-prefetch link 要素よりも前に関係する CSP meta 要素を置くべきです >>50

[54] 著者は、 dns-prefetch Link: ヘッダーを使うなら関係する CSP ヘッダーも含めるべきです >>50

[55] >>53>>54 に違反すると、処理順序の都合により、 CSP の制限が適用されないことになります。

処理

[49] 混合内容に関して optionally blockable です >>50。 これが混合内容制約に抵触する URL によって指定された DNS 名前解決を行わないべきなのかどうかは明確ではありません。

[51] CSP 制約が適用されるのかどうか、仕様書上は明確ではありませんが、 趣旨からすると適用されるべきとも考えられます。

[12] Referrer Policy は、参照元を送信することはないので、関係しません。

[52] 適用するかどうか、利用者が設定できるようにすることができます >>50

[33] 利用者エージェントは、次の navigate があっても処理を継続するべきです >>10利用者エージェントが必要ないと判断すれば中断できます >>10

アドレスバー

[13] アドレスバーへの利用者の入力により先読みが行われる場合もあります。 アドレスバー参照。

関連

[14] prefetch は、更に進んで HTTP アクセスも行うものです。

歴史

[1] Controlling DNS prefetching - MDC ( 版) <https://developer.mozilla.org/En/Controlling_DNS_prefetching>

[2] Controlling DNS prefetching - MDC Doc Center ( ( 版)) <https://developer.mozilla.org/en/controlling_dns_prefetching#Controlling_prefetching_from_content>

[3] IRC logs: freenode / #whatwg / 20110310 ( ( 版)) <http://krijnhoetmer.nl/irc-logs/whatwg/20110310#l-445>

[4] DNS Prefetching - The Chromium Projects ( 版) <https://www.chromium.org/developers/design-documents/dns-prefetching>

[5] プリレンダリングとプリフェッチのサポート (Windows) ( 版) <https://msdn.microsoft.com/library/dn265039(v=vs.85).aspx>

[6] Link relations: add dns-prefetch/preconnect/prerender; update prefetch ( (domenic著, )) <https://github.com/whatwg/html/commit/0f54b54307647ca15ace16ef03c570db1b918193>

[7] Treat <link rel="next"> as a general resource hint ( (domenic著, )) <https://github.com/whatwg/html/commit/7ff5b096d423bf5750463957aed69680368ed99e>

[15] Request.destination for `<link rel=prefetch>` · Issue #658 · whatwg/fetch () <https://github.com/whatwg/fetch/issues/658>