<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> <cite xml:lang="en-GB-x-hixie">HTML Standard</cite> (<time>2016-06-10 18:36:00 +09:00</time>) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://html.spec.whatwg.org/#link-type-preconnect">https://html.spec.whatwg.org/#link-type-preconnect</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <cite xml:lang="en">Resource Hints</cite> (<time>2016-05-21 01:13:13 +09:00</time>) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://w3c.github.io/resource-hints/#h-preconnect">https://w3c.github.io/resource-hints/#h-preconnect</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> <cite xml:lang="en">Resource Hints</cite> (<time>2016-05-21 01:13:13 +09:00</time>) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://w3c.github.io/resource-hints/#h-fetching-the-resource-hint-link">https://w3c.github.io/resource-hints/#h-fetching-the-resource-hint-link</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> <cite xml:lang="en">Resource Hints</cite> (<time>2016-05-21 01:13:13 +09:00</time>) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://w3c.github.io/resource-hints/#h-use-cases">https://w3c.github.io/resource-hints/#h-use-cases</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[50]</anchor-end> <cite xml:lang="en">Resource Hints</cite> (<time>2016-05-21 01:13:13 +09:00</time>) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://w3c.github.io/resource-hints/#h-security-and-privacy">https://w3c.github.io/resource-hints/#h-security-and-privacy</anchor-external></li></ul></refs></section><section><h1>リンク型 <code class="HTML" xml:lang="en">preconnect</code></h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">リンク型</anchor> <dfn><code class="HTML" xml:lang="en">preconnect</code></dfn> は、
指定された<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">資源</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">起源</anchor>にある<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">資源</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>が必要とする可能性が高く、
予め当該<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">起源</anchor>への<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続</anchor>を開始しておくことで<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">体験</anchor>を向上させられることを示します <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;22</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">リンク型</anchor> <code class="HTML" xml:lang="en">preconnect</code> は、 <code class="HTMLe" xml:lang="en">link</code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>で指定でき、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">外部資源リンク</anchor>を作成します <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;22</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> <code class="HTTP" xml:lang="en">Link:</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>でも指定できます <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;29</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> この<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">リンク型</anchor>は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">body-ok</anchor> です <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;22</anchor-internal></src>。つまりこの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">リンク型</anchor>の
<code class="HTMLe" xml:lang="en">link</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>は、 <code class="HTMLe" xml:lang="en">head</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>内のみならず、
<code class="HTMLe" xml:lang="en">body</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>内でも使えます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <code class="HTMLa" xml:lang="en">href<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">&lt;link href&gt;</title></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> に特に制約はありませんが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">userinfo</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">query<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URL query</title></anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">素片<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">素片識別子</title></anchor>は指定しても意味がありません。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">port<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URL port</title></anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">同じ起源</anchor>かどうかの検査に使われますから、
全く無意味ではありません。)
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL scheme</anchor> も、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP(S) scheme</anchor> でなければ無視されるので意味がありません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="53" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[53]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">著者</anchor>は、 <code class="HTML" xml:lang="en">preconnect</code> <code class="HTMLe" xml:lang="en">link</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>よりも前に関係する
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSP</anchor> <code class="HTMLe" xml:lang="en">meta</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>を置く<SHOULD xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">べきです</SHOULD> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;50</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="54" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[54]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">著者</anchor>は、 <code class="HTML" xml:lang="en">preconnect</code> <code class="HTTP" xml:lang="en">Link:</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>を使うなら関係する
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSP</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>も含める<SHOULD xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">べきです</SHOULD> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;50</anchor-internal></src>。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[55]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="53" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;53</anchor-internal>、<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="54" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;54</anchor-internal> に違反すると、処理順序の都合により、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSP</anchor> の制限が適用されないことになります。</comment-p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">資源</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>側で組み立てる場合で、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サーバー</anchor>が個別の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> を事前に判断できない場合でも、
その<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">起源</anchor>がわかっているなら、 <code class="HTML" xml:lang="en">preconnect</code>
により予めその<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">起源</anchor>への接続を指示できます。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;32</anchor-internal></src></p></example><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> 何らかの理由で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">リダイレクト</anchor>を挟んで本来の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">リンク先</anchor>へと <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">navigate</anchor>
させるときに、本来の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">リンク先</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">起源<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URLの起源</title></anchor>への接続を予め用意させることができます。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;32</anchor-internal></src></p></example></section><section><h1>処理</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="49" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[49]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">混合内容</anchor>に関して <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">optionally blockable</anchor> です <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;50</anchor-internal></src>。
仕様書上は明確ではありませんが、趣旨からすると、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">混合内容</anchor>制約が適用されるものと思われます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="51" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[51]</anchor-end> 仕様書上は明確ではありませんが、趣旨からすると、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSP</anchor>
制約が適用されるものと思われます。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> 接続段階では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">参照元</anchor>を送信することはないので、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Referrer Policy</anchor> 
の指定は関係しません。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="52" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[52]</anchor-end> 適用するかどうか、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>が設定できるようにすることができます <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;50</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <code class="HTMLe" xml:lang="en">link</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor><var>要素</var>の<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">事前接続を開始<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">initiate a preconnect</rt></rubyb></dfn>するには、
次のようにしなければ<MUST xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">なりません</MUST> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;10</anchor-internal></src>。<figure class="steps"><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <var>URL</var> を、<var>要素</var>の <code class="HTMLa" xml:lang="en">href</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">解決<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URLの解決</title></anchor>の結果に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <var>URL</var> が失敗なら、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> ここで停止します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <var>URL</var> の <f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">scheme<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URL scheme</title></f> が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP(S) scheme</anchor> でなければ、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> ここで停止します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <var>起源</var>を、<var>URL</var> の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">起源<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URLの起源</title></f>に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <var>要素</var>の <code class="HTMLa" xml:lang="en">crossorigin</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>の状態が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">匿名</anchor>で、
<var>起源</var>と<var>要素</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">節点文書</f>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">起源<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">文書の起源</title></f>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">同じ起源</anchor>でなければ、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <var>credentials</var> を、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">偽</anchor>に設定します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> それ以外なら、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> <var>credentials</var> を、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">真</anchor>に設定します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> <var>起源</var>と <var>credentials</var> について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続を得ます<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">接続を得る</title></anchor>。
<var>事前</var>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">真</anchor>とします。</li></ol></figure></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> ここで、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続を得る</anchor>によって新しい<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">HTTP接続</title></anchor>が確立され、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続プール</anchor>で保持されます。以後の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">fetch</anchor> で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続を得る</anchor>時にこの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続プール</anchor>が参照されるので、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">事前接続</anchor>として確立された<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">HTTP接続</title></anchor>があれば、利用される可能性があります。
なお、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続を得る</anchor>は通常の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> の処理に使う<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">HTTP接続</title></anchor>を確立するもので、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebSocket</anchor> には使われません。つまり<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">事前接続</anchor>は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebSocket</anchor>
には効果がありません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>は、その判断により、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">事前接続</anchor>を取り消しできます
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;29</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>は、次の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">navigate</anchor> があっても<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">事前接続</anchor>を継続する<SHOULD xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">べきです</SHOULD> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;29</anchor-internal></src>。</p></section><section><h1>歴史</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <cite xml:lang="en">Resource Hints</cite>
( (<time>2014-08-05 22:14:16 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://igrigorik.github.io/resource-hints/#preconnect">https://igrigorik.github.io/resource-hints/#preconnect</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <cite xml:lang="en">Resource Hints</cite>
( (<time>2014-10-17 03:41:00 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/2014/WD-resource-hints-20141021/">http://www.w3.org/TR/2014/WD-resource-hints-20141021/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <cite xml:lang="en">Resource Hints</cite>
( (<time>2014-10-17 03:41:00 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/2014/WD-resource-hints-20141021/">http://www.w3.org/TR/2014/WD-resource-hints-20141021/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <cite xml:lang="en">Resource Hints</cite>
(<time>2015-04-23 05:55:03 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/2015/WD-resource-hints-20150422/">http://www.w3.org/TR/2015/WD-resource-hints-20150422/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <cite xml:lang="en">Resource Hints</cite>
(<time>2015-04-23 05:55:03 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/2015/WD-resource-hints-20150422/">http://www.w3.org/TR/2015/WD-resource-hints-20150422/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <cite xml:lang="en">Resource Hints</cite>
(<time>2015-04-23 22:12:34 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/2015/WD-resource-hints-20150423/">http://www.w3.org/TR/2015/WD-resource-hints-20150423/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <cite xml:lang="en">Merge pull request #45 from w3c/preconnect-fetch · w3c/resource-hints@ad3ade9</cite>
(<time>2015-10-07 14:01:14 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/w3c/resource-hints/commit/ad3ade98d93d5cdc71adaed5e99c01ab73e1e9e6">https://github.com/w3c/resource-hints/commit/ad3ade98d93d5cdc71adaed5e99c01ab73e1e9e6</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <cite xml:lang="en">Link relations: add dns-prefetch/preconnect/prerender; update prefetch</cite>
( (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">domenic</anchor>著, <time>2016-04-28 07:26:36 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/0f54b54307647ca15ace16ef03c570db1b918193">https://github.com/whatwg/html/commit/0f54b54307647ca15ace16ef03c570db1b918193</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <cite xml:lang="en">Treat &lt;link rel=&quot;next&quot;&gt; as a general resource hint</cite>
( (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">domenic</anchor>著, <time>2016-05-19 16:38:13 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/7ff5b096d423bf5750463957aed69680368ed99e">https://github.com/whatwg/html/commit/7ff5b096d423bf5750463957aed69680368ed99e</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end> 
<code>&lt;link rel=preconnect&gt;</code> の次の行に <code>&lt;link rel=stylesheet&gt;</code>
で同じドメイン書いてあるの見たけど意味あんのこれ?
どっかの解説サイトか例文配布がなんとなく速くなりそうだと思っててきとーに書いたのがコピペで広まってるだけちゃうん?
<time>2023-05-17T13:24:20.600Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end> 
余計な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>1個増えてる分遅くなりそうよね、誤差だろうけど。早くなることはないんちゃう?</p></section></body></html>