<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="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> <strong><cite xml:lang="en">URL Standard</cite> (<time>2016-05-25 22:00:23 +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://url.spec.whatwg.org/#url-parsing">https://url.spec.whatwg.org/#url-parsing</anchor-external></strong></li><li><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> <cite xml:lang="en-GB-x-hixie">HTML Standard</cite> (<time>2016-06-04 03:01:52 +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/#resolving-urls">https://html.spec.whatwg.org/#resolving-urls</anchor-external></li></ul></refs></section><section><h1>URL 構文解析器</h1><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> <dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL 構文解析器<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">URL parser</rt></rubyb></dfn>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字列</anchor><var>入力</var>、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底URL</anchor>を表す省略可能な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL記録</anchor><var>基底</var>、
省略可能な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字符号化</anchor><var>符号化上書き</var>について、
次のようにします <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="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;36</anchor-internal></src>。<figure class="steps"><ol><li><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> <var>URL</var> を、<var>入力</var>、<var>基底</var>、<var>符号化上書き</var>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基本URL構文解析器</anchor>を適用した結果に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[39]</anchor-end> <var>URL</var> が<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="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end> <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="41" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[41]</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> が <code>blob<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">blob:</title></code> の場合、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="44" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[44]</anchor-end> 
<var>結果</var>を、
<var>URL</var> に
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">blob URLの解決</anchor>を適用した結果に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="45" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[45]</anchor-end> <var>結果</var>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">失敗</anchor>で<em>ない</em>場合、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="43" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[43]</anchor-end> 
<var>URL</var> の <f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">blob URL entry</f> を、<var>結果</var>に設定します。</li></ol></li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="42" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[42]</anchor-end> <var>URL</var> を返します。</li></ol></figure></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="47" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[47]</anchor-end> つまり <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL文字列</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:">URL記録</anchor>を得た時点で、
<code class="URI" xml:lang="en">blob:</code> <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>との関連付けが行われます。</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> <dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL の構文解析<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">parse a URL</rt></rubyb></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>に関する演算です。</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><var>文書</var>に対して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字列</anchor><var>入力</var>を<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>するには、
次のようにしなければ<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="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;23</anchor-internal></src>。<figure class="steps"><ol><li><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:">URL構文解析</anchor>を実行した結果を返します。<figure class="list members"><dl><dt><var>入力</var></dt><dd><var>入力</var></dd><dt><var>基底</var></dt><dd><var>文書</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底URL<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">文書の基底URL</title></f></dd><dt><var>符号化上書き</var></dt><dd><var>文書</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字符号化<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">文書の文字符号化</title></f></dd></dl></figure></li></ol></figure></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><var>設定群</var>に対して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字列</anchor><var>入力</var>を<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>するには、
次のようにしなければ<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="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;23</anchor-internal></src>。<figure class="steps"><ol><li><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 xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL構文解析</anchor>を実行した結果を返します。<figure class="list members"><dl><dt><var>入力</var></dt><dd><var>入力</var></dd><dt><var>基底</var></dt><dd><var>設定群</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API基底URL</f></dd><dt><var>符号化上書き</var></dt><dd><var>設定群</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API URL文字符号化</f></dd></dl></figure></li></ol></figure></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="56" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[56]</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>を、<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結果URL記録<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">resulting URL record</rt></rubyb></dfn>といいます
<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="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;23</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="57" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[57]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結果URL記録</anchor>に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL直列化器</anchor>を適用した結果を、
<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結果URL文字列<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">resulting URL string</rt></rubyb></dfn>といいます <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="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;23</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="59" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[59]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL構文解析器</anchor>は、その他、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL分解属性</anchor>を含め、様々な場所から呼び出されます。</p></section><section><h1>基本 URL 構文解析器</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> <dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基本URL構文解析器<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">basic URL parser</rt></rubyb></dfn> <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="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;36</anchor-internal></src> は、
次の入力を受け取ります。<figure class="list members"><dl><dt><var>入力</var></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字列</anchor>。</dd><dt><var>基底</var></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底URL</anchor>を表す <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL記録</anchor>。省略可能。</dd><dt><var>符号化上書き</var></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字符号化</anchor>。省略可能。</dd><dt><var>URL</var></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL記録</anchor>、省略可能。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL分解属性</anchor>で使われます。</dd><dt><var>状態上書き</var></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL構文解析器</anchor>の初期状態。省略可能。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL分解属性</anchor>で使われます。</dd></dl></figure></p><p><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基本URL構文解析器</anchor>は、
<var>URL</var> が指定された場合、それを変更します。
指定されない場合、 <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>を返します。
加えて、0個<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">以上</anchor>の<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="48" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[48]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webブラウザー</anchor>以外で <code class="URI" xml:lang="en">blob:</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</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:">基本URL構文解析器</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="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;36</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="60" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[60]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webブラウザー</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:">基本URL構文解析器</anchor>が呼び出される場面はあまり無さそうです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="61" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[61]</anchor-end> <code class="URI" xml:lang="en">blob:</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URLの起源</anchor>の決定で、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基本URL構文解析器</anchor>が呼び出されます。</p></section><section><h1>URL の構文解析、解決、比較と正準化</h1><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:">URL Standard</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:">構文解析<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URLの構文解析</title></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>、
<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>と<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>といった各<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="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:">URL Standard</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>、<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>、
基本的な<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>を1つの不可分の演算として改めて正確に定義し、
<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>はその結果について 
(あるいは場合によっては文脈依存の更なる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">演算</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="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:">URLの比較</anchor>も参照。</comment-p></section><section><h1>モジュール指定子の解決</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>参照。</p></section><section><h1>非妥当な URL の解決</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="87" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[87]</anchor-end> 
現在の <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>である <cite>URL Standard</cite> は、
<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:">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:">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>に変換されます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="86" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[86]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</anchor> では <code>%s<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">%s (URL)</title></code> や <code>%%<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">%% (URL)</title></code>
のような特別な文字列が含まれる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL雛形</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:">URLの解決</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">演算</anchor>が適用されることがあります。</p></section><section><h1>関連</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="88" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[88]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML型録</anchor>による<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URLの解決<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URLの解決 (XML型録)</title></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:">XML型録</anchor>から <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> を探す処理です。</p></section><section><h1>歴史</h1><section><h1>IRI の相対参照解決</h1><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RIF</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 3986</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">算法</anchor>を <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IRI</anchor> に直接適用すると規定しています。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><cite xmlns="http://www.w3.org/1999/xhtml">RIF Datatypes and Built-Ins 1.0</cite> (<time xmlns="http://www.w3.org/1999/xhtml">2010-06-22 23:52:50 +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/2010/REC-rif-dtb-20100622/#Relative_IRIs">http://www.w3.org/TR/2010/REC-rif-dtb-20100622/#Relative_IRIs</anchor-external></comment-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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSML 1.1</anchor> の「<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI</anchor>」は <code class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">anyURI</anchor></code> ですが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 3986</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">算法</anchor>を (特に断り書きなしに) 適用すると規定しています。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><cite xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">Speech Synthesis Markup Language (SSML) Version 1.1</cite> (<time xmlns="http://www.w3.org/1999/xhtml">2010-09-08 00:26:19 +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/2010/REC-speech-synthesis11-20100907/#S3.1.3.1">http://www.w3.org/TR/2010/REC-speech-synthesis11-20100907/#S3.1.3.1</anchor-external></comment-p></section><section><h1>Open Packaging の相対参照解決</h1><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Open Packaging</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode文字列</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:">ECMA 376</anchor>
第2部附属書A)。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">部分名</anchor>とは、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">pack URI</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">path</anchor> 部分のことです。
この<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">解決</anchor>は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode文字列</anchor> → <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IRI</anchor> → <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI</anchor> → <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">部分名</anchor>の3段階に分かれています。
最初の2つの段階については「<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IRI</anchor>」の項を参照してください。
最後の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI</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>が行われます
(同、 A.3)。
この<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">解決</anchor>の方法は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 3986</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>よりも拡張されたものになっています。</p><ol><li><code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">[</strong></anchor></code> と <code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">]</strong></anchor></code> を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">百分率符号化</anchor>します</li><li><code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">%</anchor></code> の後に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">十六進数</anchor>2桁が続かない場合、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">百分率符号化</anchor>します</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非予約文字</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 3986</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>します</li><li><code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">/</anchor></code> と <code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">\</anchor></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>します</li><li><code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">\</anchor></code> を <code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">/</anchor></code> に変換します</li><li><code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">.</anchor></code> 以外の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>を含んだ <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">segment</anchor>
それぞれについて、末尾に <code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">.</anchor></code> があればすべて除去します</li><li><code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">/</anchor></code> の連続を1つの <code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">/</anchor></code> に置き換えます</li><li>末尾に1つ <code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">/</anchor></code> があれば、除去します</li><li>3つ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">以上</anchor>の <code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">.</anchor></code> から成る <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">segment</anchor> 全体を除去します</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 3986</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:">path</anchor> の部分が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">部分名</anchor>です</li></ol></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> 基底 <samp class="URI">http://foo.example/#bar</samp> で相対 URI 参照 <samp class="URI">?</samp> を解決すると <samp class="URI">http://foo.example/?</samp> になる実装と <samp class="URI">http://foo.example/?#bar</samp> になる実装がある。</p></section><section><h1>メモ</h1><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">XQuery 3.0: An XML Query Language</cite>
( (<time>2014-04-08 08:26:21 +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/xquery-30/#id-resolve-relative-uri">http://www.w3.org/TR/xquery-30/#id-resolve-relative-uri</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">XML Path Language (XPath) 3.0</cite>
( (<time>2014-04-08 07:58:50 +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/xpath-30/#dt-resolve-relative-uri">http://www.w3.org/TR/xpath-30/#dt-resolve-relative-uri</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">XPath and XQuery Functions and Operators 3.0</cite>
( (<time>2014-04-08 07:02:07 +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/xpath-functions-3/#func-resolve-uri">http://www.w3.org/TR/xpath-functions-3/#func-resolve-uri</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">Canonical XML Version 2.0</cite>
( (<time>2010-09-02 01:31:32 +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/2010/WD-xml-c14n2-20100831/">http://www.w3.org/TR/2010/WD-xml-c14n2-20100831/</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">XQuery 1.0 and XPath 2.0 Functions and Operators (Second Edition)</cite>
( (<time>2010-12-17 00:06:54 +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/2010/REC-xpath-functions-20101214/#func-resolve-uri">http://www.w3.org/TR/2010/REC-xpath-functions-20101214/#func-resolve-uri</anchor-external></p><p><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">SPARQL 1.1 Query Language</cite>
( (<time>2013-03-21 20:27:53 +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/2013/REC-sparql11-query-20130321/#relIRIs">http://www.w3.org/TR/2013/REC-sparql11-query-20130321/#relIRIs</anchor-external></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> <cite xml:lang="en">Live URL Resolution Viewer</cite> (<code>2008-07-05 22:53:22 +09:00</code> 版) <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://suika.fam.cx/www/url/urlresolution">http://suika.fam.cx/www/url/urlresolution</anchor-external></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> <cite xml:lang="ja">冬様もすなる☆日記というもの (2008年7月)</cite> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">わかば</anchor> 著, <time>2008-07-06 00:10:37 +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://suika.fam.cx/~wakaba/d/d200807#d6-1">http://suika.fam.cx/~wakaba/d/d200807#d6-1</anchor-external></p><p><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> <cite>OASIS Open Document Format for Office Applications (OpenDocument) Version 1.2 - Part 3: Packages</cite>
(<time>2011-09-29 13:00: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://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part3.html#a3_7Usage_of_IRIs_Within_Packages">http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part3.html#a3_7Usage_of_IRIs_Within_Packages</anchor-external></p><p><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> <cite xml:lang="en">Support fragments as long as base URL is non-null. Fixes https://www.… · whatwg/url@7468c39</cite>
(<time>2015-06-16 15:10:06 +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/url/commit/7468c397f600b72f650f52fc02466f051bf96ad3">https://github.com/whatwg/url/commit/7468c397f600b72f650f52fc02466f051bf96ad3</anchor-external></p><p><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> <cite xml:lang="en">Fix fragment against no relative scheme base URL again. · whatwg/url@7f5036c</cite>
(<time>2015-06-17 16:53:02 +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/url/commit/7f5036c15e1f09ec37c850bbec5f3bedc418a451">https://github.com/whatwg/url/commit/7f5036c15e1f09ec37c850bbec5f3bedc418a451</anchor-external></p><p><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> <cite xml:lang="en">Support relative URLs for unknown schemes. Please review! Fixes https… · whatwg/url@b266a43</cite>
(<time>2015-06-18 19:12:49 +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/url/commit/b266a43fc9df0e8607074bd4d336a517e2010009">https://github.com/whatwg/url/commit/b266a43fc9df0e8607074bd4d336a517e2010009</anchor-external></p><p><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> <cite xml:lang="en">Remove the &quot;element's base URL&quot; indirection · whatwg/html@199c0c0</cite>
(<time>2015-12-19 11:03:40 +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/199c0c0569bc0e312bb70bffa8ef2f85231f4cd1">https://github.com/whatwg/html/commit/199c0c0569bc0e312bb70bffa8ef2f85231f4cd1</anchor-external></p><p><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> <cite xml:lang="en">Clarify callers of the 'resolve a URL' algorithm · whatwg/html@7c2db6f</cite>
(<time>2016-01-09 12:07:04 +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/7c2db6f8c24f8c20fa362ee49433de966330a1fe">https://github.com/whatwg/html/commit/7c2db6f8c24f8c20fa362ee49433de966330a1fe</anchor-external></p><p><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> <cite xml:lang="en">Fix #77: always decode &quot;%2e&quot; in a URL's path · whatwg/url@bee5ad8</cite>
(<time>2016-01-15 18:56:12 +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/url/commit/bee5ad8041adfe6fc676c527bbc3f3cf4562ef67">https://github.com/whatwg/url/commit/bee5ad8041adfe6fc676c527bbc3f3cf4562ef67</anchor-external></p><p><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> <cite xml:lang="en">Drop dependencies on Encoding Standard's decoder concept · whatwg/url@37f9329</cite>
(<time>2016-02-11 12:01:12 +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/url/commit/37f932928378c0df521034cfd223f4ba603ef476">https://github.com/whatwg/url/commit/37f932928378c0df521034cfd223f4ba603ef476</anchor-external></p><p><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> <cite xml:lang="en">Use the &quot;get an output encoding&quot; from the Encoding Standard · whatwg/url@a9197f7</cite>
(<time>2016-02-11 12:03:32 +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/url/commit/a9197f7714e6b125f1f760ca1aa661530261773c">https://github.com/whatwg/url/commit/a9197f7714e6b125f1f760ca1aa661530261773c</anchor-external></p><p><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">Update integration with Encoding Standard · whatwg/html@6a31c26</cite>
(<time>2016-02-14 18:45:01 +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/6a31c26cf12e39dab1a488e75dd56c03d6786d39">https://github.com/whatwg/html/commit/6a31c26cf12e39dab1a488e75dd56c03d6786d39</anchor-external></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> <cite xml:lang="en">URLs are parsed and produce records · whatwg/html@30bc255</cite>
(<time>2016-02-14 22:49:31 +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/30bc2557105ad62881ec9670f253febbc9761b44">https://github.com/whatwg/html/commit/30bc2557105ad62881ec9670f253febbc9761b44</anchor-external></p><p><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> <cite xml:lang="en">Fix #823: Don't strip characters from the URL in meta refresh · whatwg/html@543d8c1</cite>
(<time>2016-03-08 18:30:02 +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/543d8c1598bf5bff0b8febc50dff11dcb42f8768">https://github.com/whatwg/html/commit/543d8c1598bf5bff0b8febc50dff11dcb42f8768</anchor-external></p><p><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> <cite xml:lang="en">Fix #101: always strip U+0009, U+000A, and U+000D · whatwg/url@7b40216</cite>
(<time>2016-03-08 18:33:29 +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/url/commit/7b40216f809c7fe3c9a1680b5c1b06a771c9ebd8">https://github.com/whatwg/url/commit/7b40216f809c7fe3c9a1680b5c1b06a771c9ebd8</anchor-external></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> <cite xml:lang="en">Stop after setting an url’s query to null · whatwg/url@4f1c2dd</cite>
(<time>2016-04-15 17:42:12 +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/url/commit/4f1c2ddbdb866b1150819622ec04a86813294059">https://github.com/whatwg/url/commit/4f1c2ddbdb866b1150819622ec04a86813294059</anchor-external></p><p><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">curl handling of HTTP 301 redirection fails when response location header starts with http:///&lt;domain&gt; (3 slashes between protocol and domain)) · Issue #791 · curl/curl</cite>
( (<time>2016-05-10 20:23:27 +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/curl/curl/issues/791">https://github.com/curl/curl/issues/791</anchor-external></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> <cite xml:lang="en">Issue 385645 - chromium - Security: Multiple leading slashes in URLs may confuse some server-side XSS filters - Monorail</cite>
( (<time>2016-05-10 20:26:39 +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://bugs.chromium.org/p/chromium/issues/detail?id=385645">https://bugs.chromium.org/p/chromium/issues/detail?id=385645</anchor-external></p><figure class="quote"><figcaption><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> <cite>cURL - How To Use</cite>
( (<time>2016-05-31 06:05:05 +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://curl.haxx.se/docs/manpage.html#--path-as-is">https://curl.haxx.se/docs/manpage.html#--path-as-is</anchor-external></figcaption><blockquote><p>--path-as-is</p><p>Tell curl to not handle sequences of /../ or /./ in the given URL path. Normally curl will squash or merge them according to standards but with this option set you tell it not to do that.</p></blockquote></figure><p><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">Fix #521: all URLs can be relative · whatwg/html@e99f0bd</cite>
(<time>2016-01-19 10:49:50 +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/e99f0bd112e0216698bf9397b64b3f8064995756">https://github.com/whatwg/html/commit/e99f0bd112e0216698bf9397b64b3f8064995756</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="58" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[58]</anchor-end> <cite xml:lang="en">Point out that the basic URL parser is for everyone. Fixes https://ww… · whatwg/url@9dbbde1</cite>
(<time>2015-06-19 18:22:35 +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/url/commit/9dbbde11609d351dfed9b6ee066de9d32b164148">https://github.com/whatwg/url/commit/9dbbde11609d351dfed9b6ee066de9d32b164148</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="62" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[62]</anchor-end> <cite xml:lang="en">Bug 161364 – URLParser should handle relative URLs that start with //</cite>
(<time>2016-09-01 12:19:27 +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://bugs.webkit.org/show_bug.cgi?id=161364">https://bugs.webkit.org/show_bug.cgi?id=161364</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="63" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[63]</anchor-end> <cite xml:lang="en">1064700 – Determine which characters need to be percent encoded</cite>
(<time>2016-09-01 12:22: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://bugzilla.mozilla.org/show_bug.cgi?id=1064700">https://bugzilla.mozilla.org/show_bug.cgi?id=1064700</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="64" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[64]</anchor-end> <cite>Release Notes for Safari Technology Preview 17 | WebKit</cite>
( (<time>2016-11-10 10:08:39 +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://webkit.org/blog/7071/release-notes-for-safari-technology-preview-17/">https://webkit.org/blog/7071/release-notes-for-safari-technology-preview-17/</anchor-external></figcaption><blockquote><p>Matched the behavior of the old URL parser when %2E is in the URL path (r207805)</p><p>Prevented interpreting host of URLs with unrecognized schemes as an IPv4 address (r208086)</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="65" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[65]</anchor-end> <cite xml:lang="en">Percent encode fragments too</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2016-12-10 02:43:08 +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/url/commit/373dbedbbf0596f723ce8a195923da98b698aeb0">https://github.com/whatwg/url/commit/373dbedbbf0596f723ce8a195923da98b698aeb0</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="66" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[66]</anchor-end> <cite xml:lang="en">No need for null passwords</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2017-01-04 02:31:30 +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/url/commit/5e0b05e95a81fdd539c7b1bf97e69b3df701384f">https://github.com/whatwg/url/commit/5e0b05e95a81fdd539c7b1bf97e69b3df701384f</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="67" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[67]</anchor-end> <cite xml:lang="en">Stop decoding all %2e's in paths</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2016-10-28 20:46:47 +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/url/commit/fbff6834a8a03576261f777d0e0afea5c1bc5a09">https://github.com/whatwg/url/commit/fbff6834a8a03576261f777d0e0afea5c1bc5a09</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="68" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[68]</anchor-end> <cite xml:lang="en">Return failure in state override scheme parsing</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2017-01-03 23:33:47 +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/url/commit/4617e33b27d386bbf1db8c04316961d46aaa1397">https://github.com/whatwg/url/commit/4617e33b27d386bbf1db8c04316961d46aaa1397</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="69" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[69]</anchor-end> <cite xml:lang="en">FFmpeg Protocols Documentation</cite>
(<time>2017-01-22 02:22: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://ffmpeg.org/ffmpeg-protocols.html#file">https://ffmpeg.org/ffmpeg-protocols.html#file</anchor-external></figcaption><blockquote><p>An URL that does not have a protocol prefix will be assumed to be a file URL. Depending on the build, an URL that looks like a Windows path with the drive letter at the beginning will also be assumed to be a file URL (usually not the case in builds for unix-like systems).</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="70" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[70]</anchor-end> <cite xml:lang="en">Add opaque hosts</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2017-01-25 04:51:54 +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/url/commit/30362553e9ce9fc706d3492bd61886e399fc94e2">https://github.com/whatwg/url/commit/30362553e9ce9fc706d3492bd61886e399fc94e2</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="71" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[71]</anchor-end> <cite xml:lang="en">Change path parsing for non-special URLs</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2017-01-31 19:41:51 +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/url/commit/b087fe2ab215caf656a94b067c9a69ae78f03c8f">https://github.com/whatwg/url/commit/b087fe2ab215caf656a94b067c9a69ae78f03c8f</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="72" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[72]</anchor-end> <cite xml:lang="en">File state did not correctly deal with lack of base URL</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2017-02-07 18:01:33 +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/url/commit/698f3e8f1d7de6d84c78ac81209fd780aca5ab7e">https://github.com/whatwg/url/commit/698f3e8f1d7de6d84c78ac81209fd780aca5ab7e</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="73" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[73]</anchor-end> <cite xml:lang="en">Meta: state idempotence clearly as a goal</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2017-02-09 00:04:43 +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/url/commit/6688baa5a3032a0acdb2149c41aef64b30106802">https://github.com/whatwg/url/commit/6688baa5a3032a0acdb2149c41aef64b30106802</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="74" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[74]</anchor-end> <cite xml:lang="en">Cleanup API for file and non-special URLs</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2017-02-09 03:31:21 +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/url/commit/cf616f9d3fca44bd5329e992519a4236a39b0cb7">https://github.com/whatwg/url/commit/cf616f9d3fca44bd5329e992519a4236a39b0cb7</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="75" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[75]</anchor-end> <cite xml:lang="en">Editorial: use the Infra Standard for URL's path</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2017-02-10 02:32:12 +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/url/commit/2f99502dc12b781f5bf6a062257ba031c7129c1e">https://github.com/whatwg/url/commit/2f99502dc12b781f5bf6a062257ba031c7129c1e</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="76" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[76]</anchor-end> <cite xml:lang="en">Paths need to be copied from base URLs</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2017-02-11 03:23:51 +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/url/commit/cdbe5dcf40c5c98d46c0a4a9b8984914eba38c2f">https://github.com/whatwg/url/commit/cdbe5dcf40c5c98d46c0a4a9b8984914eba38c2f</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="77" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[77]</anchor-end> <cite xml:lang="en">Attempt to explain valid input better</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2017-02-10 17:10:23 +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/url/commit/50cb9ab9d8f70cc2bc72e91976bfaea0ad0fd330">https://github.com/whatwg/url/commit/50cb9ab9d8f70cc2bc72e91976bfaea0ad0fd330</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="78" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[78]</anchor-end> <cite xml:lang="en">A file URL cannot have credentials</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2017-02-16 20:14:28 +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/url/commit/9b2eb10eb8436adaf6620b1864b25442152f205b">https://github.com/whatwg/url/commit/9b2eb10eb8436adaf6620b1864b25442152f205b</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="79" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[79]</anchor-end> <cite xml:lang="en">Add empty host concept for file and non-special URLs</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">rmisev</anchor>著, <time>2017-03-07 23:12: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://github.com/whatwg/url/commit/5807b28261e44a47e31683230137da395ddc79d8">https://github.com/whatwg/url/commit/5807b28261e44a47e31683230137da395ddc79d8</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="80" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[80]</anchor-end> <cite xml:lang="en">Restrict protocol around &quot;file&quot;</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2017-03-15 17:37:07 +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/url/commit/462fdc14732aae4b0b9c5334f37962d8c235caf9">https://github.com/whatwg/url/commit/462fdc14732aae4b0b9c5334f37962d8c235caf9</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="81" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[81]</anchor-end> <cite xml:lang="EN">XQuery 3.1: An XML Query Language</cite>
(<time>2017-03-20 09:23:33 +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://www.w3.org/TR/2017/REC-xquery-31-20170321/#dt-resolve-relative-uri">https://www.w3.org/TR/2017/REC-xquery-31-20170321/#dt-resolve-relative-uri</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="82" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[82]</anchor-end> <cite xml:lang="EN">XML Path Language (XPath) 3.1</cite>
(<time>2017-03-20 09:18:04 +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://www.w3.org/TR/2017/REC-xpath-31-20170321/#dt-resolve-relative-uri">https://www.w3.org/TR/2017/REC-xpath-31-20170321/#dt-resolve-relative-uri</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="83" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[83]</anchor-end> <cite xml:lang="EN">XPath and XQuery Functions and Operators 3.1</cite>
(<time>2017-03-21 16:02:06 +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://www.w3.org/TR/2017/REC-xpath-functions-31-20170321/#func-resolve-uri">https://www.w3.org/TR/2017/REC-xpath-functions-31-20170321/#func-resolve-uri</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="84" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[84]</anchor-end> <cite xml:lang="en">URL: trim leading slashes of file URL paths</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2017-03-22 19:31: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://github.com/whatwg/url/commit/6103e0a58eb2460d409056fb2b93b015941b64f2">https://github.com/whatwg/url/commit/6103e0a58eb2460d409056fb2b93b015941b64f2</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="85" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[85]</anchor-end> <cite xml:lang="en">Fix Windows drive letter handling in the file state</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">rmisev</anchor>著, <time>2017-05-03 16:16:22 +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/url/commit/fe6b251739e225555f04319f19c70c031a5d99eb">https://github.com/whatwg/url/commit/fe6b251739e225555f04319f19c70c031a5d99eb</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="89" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[89]</anchor-end> <cite xml:lang="en">Normalize port after updating scheme</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TimothyGu</anchor>著, <time>2017-06-30 09:05:07 +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/url/commit/0f53958338bbaec3882f902897873da59ba7e8bd">https://github.com/whatwg/url/commit/0f53958338bbaec3882f902897873da59ba7e8bd</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="90" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[90]</anchor-end> <cite xml:lang="en">Deprecations and Removals in Chrome 61  |  Web  |  Google Developers</cite>
(<time>2017-08-16 00:56:37 +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://developers.google.com/web/updates/2017/08/chrome-61-deprecations">https://developers.google.com/web/updates/2017/08/chrome-61-deprecations</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="91" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[91]</anchor-end> <cite xml:lang="en">Fix Windows drive letter handling in the file slash state</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">rmisev</anchor>著, <time>2017-09-18 18:50:56 +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/url/commit/2eef975e989cb5ae2d62467394778fd6778ddec9">https://github.com/whatwg/url/commit/2eef975e989cb5ae2d62467394778fd6778ddec9</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="92" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[92]</anchor-end> <cite xml:lang="en">Drive letters get duplicated when resolving Windows file: URL with base · Issue #303 · whatwg/url</cite>
(<time>2017-09-19 16:02:59 +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/url/issues/303">https://github.com/whatwg/url/issues/303</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="93" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[93]</anchor-end> <cite xml:lang="en">remaining variable ambiguity · Issue #308 · whatwg/url</cite>
(<time>2017-09-19 16:03:41 +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/url/issues/308">https://github.com/whatwg/url/issues/308</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="94" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[94]</anchor-end> <cite xml:lang="en">Fix Windows drive letter handling in the file slash state by rmisev · Pull Request #343 · whatwg/url</cite>
(<time>2017-09-19 16:04:07 +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/url/pull/343">https://github.com/whatwg/url/pull/343</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="95" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[95]</anchor-end> <cite xml:lang="en">Meta: disambiguate links to &quot;resolve&quot;</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ricea</anchor>著, <time>2018-02-10 00:27:25 +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/streams/commit/47eab2faf0af026a33bd22abe3af583edbdbceb9">https://github.com/whatwg/streams/commit/47eab2faf0af026a33bd22abe3af583edbdbceb9</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="96" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[96]</anchor-end> <cite xml:lang="en">Disambiguate links to &quot;resolve&quot; by ricea · Pull Request #878 · whatwg/streams</cite>
(<time>2018-02-11 17:37:30 +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/streams/pull/878">https://github.com/whatwg/streams/pull/878</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="97" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[97]</anchor-end> <cite xml:lang="en">Change query state slightly to better deal with non-UTF-8 encodings</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2018-05-09 17:55:15 +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/url/commit/f0e4390bf882446445e944215524ff3877aac95a">https://github.com/whatwg/url/commit/f0e4390bf882446445e944215524ff3877aac95a</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="98" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[98]</anchor-end> <cite xml:lang="en">&quot;html&quot; error mode somewhat incompatible with URLs · Issue #139 · whatwg/encoding</cite>
(<time>2018-05-26 00:01:28 +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/encoding/issues/139">https://github.com/whatwg/encoding/issues/139</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="99" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[99]</anchor-end> <cite xml:lang="en">Change query state slightly to better deal with non-UTF-8 encodings by annevk · Pull Request #386 · whatwg/url</cite>
(<time>2018-05-26 00:01:53 +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/url/pull/386">https://github.com/whatwg/url/pull/386</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="100" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[100]</anchor-end> <cite xml:lang="en">Editorial: avoid setting encoding multiple times</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2018-05-09 17:22:37 +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/url/commit/b385374e5d1b48f82b8040395786469ae655f435">https://github.com/whatwg/url/commit/b385374e5d1b48f82b8040395786469ae655f435</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="101" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[101]</anchor-end> <cite xml:lang="en">Percent-encode ' in queries of URLs with special schemes</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">achristensen07</anchor>著, <time>2018-06-08 16:46:29 +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/url/commit/6ef17ebe1220a7e7c0cfff0785017502ee18808b">https://github.com/whatwg/url/commit/6ef17ebe1220a7e7c0cfff0785017502ee18808b</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="102" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[102]</anchor-end> <cite xml:lang="en">percent-encode ' in queries of URLs with special schemes · Issue #348 · whatwg/url</cite>
(<time>2018-06-11 23:47:32 +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/url/issues/348">https://github.com/whatwg/url/issues/348</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="103" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[103]</anchor-end> <cite xml:lang="en">percent-encode ' in queries of URLs with special schemes by achristensen07 · Pull Request #395 · whatwg/url</cite>
(<time>2018-06-11 23:49:19 +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/url/pull/395">https://github.com/whatwg/url/pull/395</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="104" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[104]</anchor-end> <cite xml:lang="en">Change query state slightly to better deal with non-UTF-8 encodings</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2018-05-09 17:55:15 +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/url/commit/f0e4390bf882446445e944215524ff3877aac95a">https://github.com/whatwg/url/commit/f0e4390bf882446445e944215524ff3877aac95a</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="105" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[105]</anchor-end> <cite xml:lang="en">&quot;html&quot; error mode somewhat incompatible with URLs · Issue #139 · whatwg/encoding</cite>
(<time>2019-02-25 17:23:18 +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/encoding/issues/139">https://github.com/whatwg/encoding/issues/139</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="106" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[106]</anchor-end> <cite xml:lang="en">Change query state slightly to better deal with non-UTF-8 encodings by annevk · Pull Request #386 · whatwg/url</cite>
(<time>2019-02-25 17:30:10 +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/url/pull/386">https://github.com/whatwg/url/pull/386</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="107" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[107]</anchor-end> <cite xml:lang="en">Editorial: avoid setting encoding multiple times</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2018-05-09 17:22:37 +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/url/commit/b385374e5d1b48f82b8040395786469ae655f435">https://github.com/whatwg/url/commit/b385374e5d1b48f82b8040395786469ae655f435</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="108" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[108]</anchor-end> <cite xml:lang="en">Use File API to resolve blob: URLs and their origins</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">mkruisselbrink</anchor>著, <time>2019-01-14 23:24:01 +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/url/commit/d2ef633869b3f31d8c7e3bb76602400e4d2c126c">https://github.com/whatwg/url/commit/d2ef633869b3f31d8c7e3bb76602400e4d2c126c</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="46" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[46]</anchor-end> <cite>curl - How To Use</cite>
(<time>2020-09-21T09:01:13.000Z</time>, <time>2020-10-01T06:25:16.113Z</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://curl.haxx.se/docs/manpage.html#--path-as-is">https://curl.haxx.se/docs/manpage.html#--path-as-is</anchor-external></p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="109" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[109]</anchor-end> <cite xml:lang="en">urllib.parse space handling CVE-2023-24329 appears unfixed · Issue #102153 · python/cpython · GitHub</cite>, <time>2023-08-17T06:26:41.000Z</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/python/cpython/issues/102153">https://github.com/python/cpython/issues/102153</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="110" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[110]</anchor-end> <cite xml:lang="en">NVD - CVE-2023-24329</cite>, <time>2023-08-17T06:26:52.000Z</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://nvd.nist.gov/vuln/detail/CVE-2023-24329">https://nvd.nist.gov/vuln/detail/CVE-2023-24329</anchor-external></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="111" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[111]</anchor-end> 
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="109" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;109</anchor-internal> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL Standard</anchor> 以前に長らく明確な構文解析の仕様が存在しなかったことが脆弱性の遠因にある。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL Standard</anchor> の成立後に放置してきたのは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Python</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>のため重要であることを実証する一例。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="112" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[112]</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:">Postel則</anchor>でなるに任せる、という20世紀の
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IETF</anchor> の設計論の破綻の一例でもある。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="113" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[113]</anchor-end> <cite xml:lang="en">HISTORY &amp; SECURITY: URL Parsing Differences Between Implementations Security Issues · Issue #766 · whatwg/url · GitHub</cite>, <time>2023-08-22T05:37:18.000Z</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/url/issues/766">https://github.com/whatwg/url/issues/766</anchor-external></p></section></section></body></html>