<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8048" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8048]</anchor-end> <dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>要求対象</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">request target</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>に指定される、
<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>
の一部を表しています。</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="8049" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8049]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2616</anchor> までは <code xmlns="http://www.w3.org/1999/xhtml" class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Request-URI</anchor></code> と呼ばれていました。</comment-p><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="8020" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8020]</anchor-end> <cite xml:lang="en">RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</cite> (<time>2014-06-07 01:59: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://tools.ietf.org/html/rfc7230#section-5.3">https://tools.ietf.org/html/rfc7230#section-5.3</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8016" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8016]</anchor-end> <cite xml:lang="en">RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</cite> (<time>2014-06-07 01:59: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://tools.ietf.org/html/rfc7230#section-3.1.1">https://tools.ietf.org/html/rfc7230#section-3.1.1</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8017" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8017]</anchor-end> <cite xml:lang="en">RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</cite> (<time>2014-06-07 01:59: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://tools.ietf.org/html/rfc7230#section-5.1">https://tools.ietf.org/html/rfc7230#section-5.1</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8044" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8044]</anchor-end> <cite xml:lang="en">RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</cite> (<time>2014-06-07 01:59: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://tools.ietf.org/html/rfc7230#section-5.7.2">https://tools.ietf.org/html/rfc7230#section-5.7.2</anchor-external></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> <cite>UPnP Device Architecture 2.0</cite> (<time>2014-09-05 02:24:48 +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://upnp.org/specs/arch/UPnP-arch-DeviceArchitecture-v2.0.pdf#page=23">http://upnp.org/specs/arch/UPnP-arch-DeviceArchitecture-v2.0.pdf#page=23</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="8018" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8018]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</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>の<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">意味<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">semantics</rt></rubyb>と、その意味が適用される<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">対象資源<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">target resource</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="8017" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8017</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8019" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8019]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">対象資源</anchor>は普通<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>対象URI</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">target URI</rt></rubyb></dfn>によって識別されます。
<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>を含みません。 <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="8017" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8017</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8050" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8050]</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>には現れず、<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:">HTTP</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:">URL</anchor> のことを、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実効要求URL</anchor>といいます。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><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:">対象URL</anchor>であると定義されています。</comment-p></section><section><h1>要求対象</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8022" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8022]</anchor-end> <dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>要求対象</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">request target</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>を表すもので、
<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="8021" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8021]</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>に記述します。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8023" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8023]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求対象</anchor>には次に示す4つの形式があります <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="8020" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8020</anchor-internal></src>。</p><figure class="railroad"><ol><li>|<ol><li><code class="ABNF" xml:lang="en">origin-form</code></li><li><code class="ABNF" xml:lang="en">absolute-form</code></li><li><code class="ABNF" xml:lang="en">authority-form</code></li><li><code class="ABNF" xml:lang="en">asterisk-form</code></li></ol></li></ol></figure><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="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2616</anchor> 世代までは<dfn xmlns="http://www.w3.org/1999/xhtml"><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求URL<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">request URL</rt></rubyb></dfn> 
(<dfn xmlns="http://www.w3.org/1999/xhtml"><code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">request-URI</anchor></code></dfn>) と呼ばれていましたが、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor>
でない <code xmlns="http://www.w3.org/1999/xhtml" class="HTTP">*</code> も含まれるためか、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 723x</anchor> 世代で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求対象</anchor>に改められています。</comment-p><figure class="table"><dl><dt>method</dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求メソッド</anchor></dd><dt>origin</dt><dd><code class="ABNF" xml:lang="en">origin-form</code></dd><dt>absolute</dt><dd><code class="ABNF" xml:lang="en">absolute-form</code></dd><dt>authority</dt><dd><code class="ABNF" xml:lang="en">authority-form</code></dd><dt>asterisk</dt><dd><code class="ABNF" xml:lang="en">asterisk-form</code></dd></dl><dl><dt>method</dt><dd><code>CONNECT</code></dd><dt>authority</dt><dd><MUST xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MUST</MUST></dd><dt>absolute</dt><dd>×</dd><dt>asterisk</dt><dd>×</dd><dt>origin</dt><dd>×</dd></dl><dl><dt>method</dt><dd><code>OPTIONS</code> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サーバー</anchor>全体)</dd><dt>asterisk</dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">起源サーバー</anchor>への<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor></dd><dt>absolute</dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロキシ</anchor>への<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor></dd><dt>origin</dt><dd>×</dd><dt>authority</dt><dd>×</dd></dl><dl><dt>method</dt><dd><code>OPTIONS</code> (その他)</dd><dt>origin</dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">起源サーバー</anchor>への<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor></dd><dt>absolute</dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロキシ</anchor>への<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor></dd><dt>authority</dt><dd>×</dd><dt>asterisk</dt><dd>×</dd></dl><dl><dt>method</dt><dd>その他</dd><dt>origin</dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">起源サーバー</anchor>への<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor></dd><dt>absolute</dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロキシ</anchor>への<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor></dd><dt>authority</dt><dd>×</dd><dt>asterisk</dt><dd>×</dd></dl></figure><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/2</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:">HTTP/1.1</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>とおおむね対応する用法が規定されていますが、
<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">:scheme</anchor></code> は <code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">origin-form</anchor></code> 相当と
<code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">asterisk-form</anchor></code> 相当で必須となっており、
<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">:authority</anchor></code> は <code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">asterisk-form</anchor></code>
相当で必須となっている点は異なります。</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>では <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">response=&quot;&quot;</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>や
<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">rspauth=&quot;&quot;</anchor></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="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ダイジェスト認証</anchor>では <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uri=&quot;&quot;</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:">要求URL</anchor>を指定します。</p></section><section><h1><code class="ABNF" xml:lang="en">origin-form</code></h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8028" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8028]</anchor-end> <dfn><code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">origin-form</anchor></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>のあとに <code class="URI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">?</anchor></code> と <code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">query</anchor></code>
が続くものです
<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="8020" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8020</anchor-internal> 5.3.1.</src>。</p><figure class="railroad"><ol><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">絶対パス</anchor></li><li>?<ol><li><code class="URI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">?</anchor></code></li><li><code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">query</anchor></code></li></ol></li></ol></figure><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="8029" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8029]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">素片識別子</anchor>は認められていません。</comment-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="8032" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8032]</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>は <code xmlns="http://www.w3.org/1999/xhtml" class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Host:</anchor></code>
によって指定します。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8030" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8030]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>は、 <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CONNECT</anchor></code> や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>全体に対する
<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OPTIONS</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>に直接<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>するときには、
<code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">origin-form</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:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></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="8020" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8020</anchor-internal> 5.3.1.</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="8031" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8031]</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>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空</anchor>の時は、
<code xmlns="http://www.w3.org/1999/xhtml" class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">/</anchor></code> を送らなければ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor> <src><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8020" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8020</anchor-internal> 5.3.1.</src>。</comment-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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/2</anchor> では、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">擬似ヘッダー</anchor> <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">:path</anchor></code> と
<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">:scheme</anchor></code> を指定し <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">:authority</anchor></code>
を指定しない (<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Host:</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:">HTTP/1.1</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:">HTTP/2</anchor> に変換して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">転送</anchor>する場合に現れます。</p></section><section><h1><code class="ABNF" xml:lang="en">absolute-form</code></h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8033" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8033]</anchor-end> <dfn><code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">absolute-form</anchor></code></dfn> は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 3986</anchor> <code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">absolute-URI</anchor></code> です
<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="8020" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8020</anchor-internal> 5.3.2.</src>。</p><figure class="railroad"><ol><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL scheme</anchor></li><li><code>:</code></li><li>?<ol><li><code>//</code></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">authority</anchor></li></ol></li><li><code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">path</anchor></code></li><li>?<ol><li><code class="URI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">?</anchor></code></li><li><code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">query</anchor></code></li></ol></li></ol></figure><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="8034" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8034]</anchor-end> <f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">素片<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">素片識別子</title></f>は認められていません。</comment-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="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:">userinfo</anchor> は禁止されていませんが、あまり適切では無さそうです。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8035" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8035]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>は、 <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CONNECT</anchor></code> や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>全体に対する
<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OPTIONS</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>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>するときには、
<code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">absolute-form</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:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></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="8020" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8020</anchor-internal> 5.3.2.</src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8036" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8036]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.1</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:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></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="8020" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8020</anchor-internal> 5.3.2.</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="8037" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8037]</anchor-end> 将来の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPの版</anchor>ですべての<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>を <code xmlns="http://www.w3.org/1999/xhtml" class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">absolute-form</anchor></code>
に移行できるようにするため <src><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8020" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8020</anchor-internal> 5.3.2.</src> と説明されています。</comment-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="8038" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8038]</anchor-end> <code xmlns="http://www.w3.org/1999/xhtml" class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Host:</anchor></code> と両方指定されたときはどう処理されるのでしょうか。
→ <code xmlns="http://www.w3.org/1999/xhtml" class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Host:</anchor></code> 参照。 <code xmlns="http://www.w3.org/1999/xhtml" class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Host:</anchor></code> が無視されます。
なお <code xmlns="http://www.w3.org/1999/xhtml" class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Host:</anchor></code> はそれでも必ず指定しなければなりません。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8043" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8043]</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>は、 <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OPTIONS</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>を
<code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">absolute-form</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:">query</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>を <code class="URI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">*</anchor></code>
に変更して送信しなければ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></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="8020" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8020</anchor-internal> 5.3.4.</src>。</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> 古い <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.0</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="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">404</anchor></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="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/2</anchor> では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">疑似ヘッダー</anchor>として <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">:scheme</anchor></code>
、<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">:authority</anchor></code>、<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">:path</anchor></code>
を指定する形に相当します。ほとんどの <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/2</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>はこの形を使います。</p></section><section><h1><code class="ABNF" xml:lang="en">authority-form</code></h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8039" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8039]</anchor-end> <dfn><code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">authority-form</anchor></code></dfn> は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 3986</anchor>
<code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">authority</anchor></code> です <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="8020" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8020</anchor-internal> 5.3.3.</src>。</p><figure class="railroad"><ol><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ホスト</anchor></li><li>?<ol><li><code class="URI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">:</anchor></code></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ポート</anchor></li></ol></li></ol></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8040" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8040]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>は、 <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CONNECT</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>を確立するときは、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">対象URL</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">authority</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">userinfo</anchor> と <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">@</anchor></code> 以外)
のみを送信しなければ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></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="8020" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8020</anchor-internal> 5.3.3.</src>。</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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/2</anchor> では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">疑似ヘッダー</anchor> <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">:authority</anchor></code>
を指定し、 <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">:scheme</anchor></code> と <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">:path</anchor></code>
を指定しない形に相当します。 <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CONNECT</anchor></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="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>が省略された場合にどう解釈するべきかはあまり明確ではありません。
常に <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">80</n> とみなすべきでしょうか。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実効要求URL</anchor>も参照。</comment-p></section><section><h1><code class="ABNF" xml:lang="en">asterisk-form</code></h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8041" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8041]</anchor-end> <dfn><code class="ABNF" xml:lang="en">asterisk-form</code></dfn> は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>
<dfn><code class="URI">*</code></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="8020" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8020</anchor-internal> 5.3.4.</src>。</p><figure class="railroad"><ol><li><code class="HTTP">*</code></li></ol></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8042" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8042]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>は、<code class="HTTP" xml:lang="en">OPTIONS</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>全体に対して行いたいときは、
<code class="URI">*</code> を送らなければ<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="8020" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8020</anchor-internal> 5.3.4.</src>。</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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSDP</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求メソッド</anchor> <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NOTIFY</anchor></code>, <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">M-SEARCH</anchor></code>
でも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求URL</anchor>には <code class="URI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">*</anchor></code> を使います <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="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;14</anchor-internal></src>。</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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/2</anchor> では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">疑似ヘッダー</anchor> <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">:scheme</anchor></code> と
<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">:authority</anchor></code> を指定し、 <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">:path</anchor></code>
は <code class="HTTP">*</code> と指定する形が相当します。</p></section><section><h1>長さ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="503" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[503]</anchor-end> 実際上<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求行</anchor>の長さには色々な制限が課されていますが、
最低でも8000<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:"><strong xmlns="http://www.w3.org/1999/xhtml">べき</strong></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="8016" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8016</anchor-internal></src>
とされています。
(<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:">HTTPの版</anchor>も含まれています。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="502" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[502]</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:">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>は、
<code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">414</anchor></code> を返さなければ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></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="8016" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8016</anchor-internal></src>。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>414</anchor> </sw-see></p><p><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URLの長さ</anchor>も参照。</p></section><section><h1>構文解析とエラー処理</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8011" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8011]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Request-URI</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:">authority</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 scheme</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">authority</anchor> でないとき、 <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">400</anchor></code> <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="8012" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8012]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC</anchor> には <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">authority</anchor> が正しくない時に <code xmlns="http://www.w3.org/1999/xhtml" class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">400</anchor></code> を返すと規定があります。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL scheme</anchor> については言及がありません。</comment-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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求対象</anchor>が <code>//</code> から始まるとき、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Apache</anchor> も <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">nginx</anchor> も、
<code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">absolute-form</anchor></code> と解釈するようです。 <time>2015-07-23T02:04:17.900Z</time></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">authority</anchor> から始まる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相対URL</anchor>とは解釈しません。</comment-p><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><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:">非ASCII文字</anchor>が含まれるとき、</ed><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:">nginx</anchor> は <code class="ABNF" xml:lang="en">absolute-form</code> や <code class="ABNF" xml:lang="en">origin-form</code>
でないとき、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求行</anchor>を受け取った時点で <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/0.9</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応答</anchor>
(<code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">400</anchor></code> 相当の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML文書</anchor>) を返すようです。 <time>2015-09-13T12:41:00.200Z</time></p></section><section><h1>書き換え</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8045" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8045]</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:">ホスト名</anchor>が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FQDN</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="8044" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8044</anchor-internal></src>。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FQDN</anchor> なら変更しては<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></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="8044" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8044</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="8046" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8046]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">串</anchor>は <code xmlns="http://www.w3.org/1999/xhtml" class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Host:</anchor></code> を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">転送</anchor>時に再生成することになっていますので、
そちらも書き換わります。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8047" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8047]</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:">要求対象</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">絶対パス</anchor>や
<code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">query</anchor></code> を書き換えては<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></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="8044" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8044</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="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パーセント符号化</anchor>の正規化なども認められていないようです。</comment-p><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>では、<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:">credentials</anchor> の <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uri=&quot;&quot;</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:">実効要求URL</anchor>
を指定できるとしています。</p></section><section><h1>URL の起源</h1><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> <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:">同じ起源</anchor>です。</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:">HTTP/2</anchor> では、異なる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">起源</anchor>であっても、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IPアドレス</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>を再利用できることになっています。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP接続</anchor>の再利用の項を参照。</comment-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> <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:">FTP over HTTP</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Gopher over HTTP</anchor> のように、異なる <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL scheme</anchor>
が使われることもあります。</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> <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>も、
任意の<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><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="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> 意味があるかどうかは別として、 <code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">mailto:</anchor></code> や
<code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">data:</anchor></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></example><p><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:">Opportunistic Security for HTTP/2</anchor> の場合、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPS</anchor> 上の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>であるにも関わらず <code>:scheme</code> が <code class="URI" xml:lang="en">http<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">http:</title></code> となります。</p></section><section><h1>歴史</h1><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8024" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8024]</anchor-end> RFC 1945 (HTTP/1.0); RFC 2068・2616 (HTTP/1.1) 5.1.2 Request-URI</figcaption><blockquote><p>The Request-URI is a Uniform Resource Identifier (<del>Section</del> <ins>section</ins> 3.2) and
identifies the resource upon which to apply the request.</p></blockquote><p><dfn><code class="ABNF">Request-URI</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>を識別します。</p><blockquote><ul><li><ins>{1945:}</ins> Request-URI    = absoluteURI | abs_path</li><li><ins>{2068:}</ins> Request-URI    = &quot;*&quot; | absoluteURI | abs_path</li><li><ins>{2616:}</ins> Request-URI    = &quot;*&quot; | absoluteURI | abs_path | authority</li><li><ins>{Errata:}</ins> Request-URI    = &quot;*&quot; | absoluteURI | abs_path [ &quot;?&quot; query ] | authority</li></ul></blockquote><blockquote><p>The <del><del>two</del> <ins>three</ins></del> <ins>four</ins> options for Request-URI are dependent on the nature of the request. <ins>The asterisk &quot;*&quot; means that the request does not apply to a particular resource, but to the server itself, and is only allowed when the method used does not necessarily apply to a resource. One example would be</ins></p></blockquote><p><code class="ABNF">Request-URI</code> の4つの選択肢は要求の性質に依存します。<ins>星印 <code class="HTTP">*</code> は、要求が特定の資源に適用するのではなく、サーバー自体に適用することを意味し、方式が必ずしも資源に適用する必要が無いときにだけ認めます。一つの例は</ins></p><insert xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><blockquote xmlns="http://www.w3.org/1999/xhtml"><p><ins>{2068,2616}</ins><ul><li><samp class="HTTP">OPTIONS * HTTP/1.1</samp></li></ul></p></blockquote></insert><blockquote><p>The absoluteURI form is <del>only allowed</del> <ins>required</ins> when the request is being made to a proxy.
The proxy is <del><del><ins>{1945}</ins> requested</del> <ins><ins>{2068}</ins> required</ins></del> <ins><ins>{2616}</ins> REQUIRED</ins> to forward the request <ins>or service it from a valid cache,</ins> and return the response. <del>If the request is GET or HEAD and a prior response is cached, the proxy may use the cached message if it passes any restrictions in the Expires header field.</del>
Note that the proxy <del>may</del> <ins>MAY</ins>
forward the request on to another proxy or directly to the server
specified by the absoluteURI. In order to avoid request loops, a
proxy <del>must</del> <ins>MUST</ins> be able to recognize all of its server names, including
any aliases, local variations, and the numeric IP address. An example
Request-Line would be:</p></blockquote><p><code class="ABNF"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">absoluteURI</anchor></code> (絶対 URI) 書式は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">串</anchor>に対して要求を行う時に<del>だけ認めます</del><ins>は必須です</ins>。
串は要求を転送<ins>するかまたは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">妥当</anchor>な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ</anchor>から供出</ins>して応答を返す<strong>必要があります</strong>。<del>要求が <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GET</anchor></code> または <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HEAD</anchor></code> で、前の応答がキャッシュされているときは、 <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Expires</anchor></code> 頭欄の制限を満たしていれば、串はそのキャッシュしたメッセージを使っても構いません。</del>
串は要求を他の串に転送しても<strong>構いません</strong>し <code class="ABNF">absoluteURI</code>
で指定されたサーバーに直接転送しても<strong>構わない</strong>ことに注意してください。
要求の循環を避けるため、串は別名, 局所変名, 数値 IP 番地を含めたすべてのサーバー名を認識することができなければ<strong>なりません</strong>。
<code class="ABNF"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Request-Line</anchor></code> の例:</p><blockquote><ul><li><del> GET http://www.w3.org/pub/WWW/TheProject.html HTTP/1.0 </del></li><li><del> GET http://www.w3.org/pub/WWW/TheProject.html HTTP/1.1 </del></li></ul></blockquote><insert xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><blockquote xmlns="http://www.w3.org/1999/xhtml"><p>To allow for transition to absoluteURIs in all requests in future
versions of HTTP, all HTTP/1.1 servers MUST accept the absoluteURI
form in requests, even though HTTP/1.1 clients will only generate
them in requests to proxies.</p></blockquote><p xmlns="http://www.w3.org/1999/xhtml">将来の版の HTTP ですべての要求を <code class="ABNF">absoluteURI</code>
に移行することができるように、すべての HTTP/1.1 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サーバー</anchor>は要求中の
<code class="ABNF">absoluteURI</code> 形式を受け入れなければ<strong>なりません</strong>。
たとえ HTTP/1.1 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>が串に対する要求でのみそれを生成するとしてもです。</p><insert><blockquote xmlns="http://www.w3.org/1999/xhtml"><p>The authority form is only used by the CONNECT method (section 9.9).</p></blockquote><p xmlns="http://www.w3.org/1999/xhtml"><code class="ABNF"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">authority</anchor></code> 書式は <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CONNECT</anchor></code>
方式でのみ使用します。</p></insert></insert><blockquote><p>The most common form of Request-URI is that used to identify a
resource on an origin server or gateway. In this case<del>, only</del>
the absolute path of the URI <del>is</del> <ins>MUST be</ins> transmitted (see <del>Section</del> <ins>section</ins> 3.2.1, abs_path) <ins>as the Request-URI, and the network location of the URI (<del>net_loc</del> <ins>authority</ins>) MUST be transmitted in a Host header field</ins>.
For example, a client wishing to retrieve the resource
above directly from the origin server would create a TCP connection
to port 80 of the host &quot;www.w3.org&quot; and send the lines:</p></blockquote><p><code class="ABNF">Request-URI</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>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">資源</anchor>を識別するのに使います。
この場合、 URI の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">絶対経路</anchor><del>のみ</del>を<ins><code class="ABNF">Request-URI</code> として</ins>転送し<strong>なければなりません</strong><ins>で、 URI のネットワーク部分 (<code class="ABNF">authority</code>) は <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Host</anchor></code> 頭欄で転送しなければ<strong>なりません</strong></ins>。</p><delete xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><blockquote xmlns="http://www.w3.org/1999/xhtml"><ul><li><pre>GET /pub/WWW/TheProject.html HTTP/1.0</pre></li></ul></blockquote></delete><insert xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><blockquote xmlns="http://www.w3.org/1999/xhtml"><ul><li><pre>GET /pub/WWW/TheProject.html HTTP/1.1
Host: www.w3.org</pre></li></ul></blockquote></insert><blockquote><p>followed by the remainder of the <del>Full-</del>Request.
Note that the absolute path cannot be empty; if none is present in the original URI, it <del>must</del> <ins>MUST</ins>
be given as &quot;/&quot; (the server root).</p></blockquote><p>に要求の残りが続きます。
絶対経路は空になり得ないことに注意してください。元の URI
になにもないときには <code class="URI">/</code> (サーバー根)
を与えなければ<strong>なりません</strong>。</p><delete xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><insert><blockquote xmlns="http://www.w3.org/1999/xhtml"><p><ins>{2068}</ins> If a proxy receives a request without any path in the Request-URI and
the method specified is capable of supporting the asterisk form of
request, then the last proxy on the request chain MUST forward the
request with &quot;*&quot; as the final Request-URI. For example, the request</p></blockquote><p xmlns="http://www.w3.org/1999/xhtml">串が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">経路</anchor>のない <code class="ABNF">Request-URI</code> の要求を受信し、指定されていた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メソッド</anchor>が星印書式の要求に対応することのできるものであるなら、
要求鎖の最後の串は <code class="HTTP">*</code> を最後の <code class="ABNF">Request-URI</code>
として要求を転送しなければ<strong>なりません</strong>。
例えば、要求</p><blockquote xmlns="http://www.w3.org/1999/xhtml"><ul><li>OPTIONS http://www.ics.uci.edu:8001 HTTP/1.1</li></ul></blockquote><blockquote xmlns="http://www.w3.org/1999/xhtml"><p>would be forwarded by the proxy as</p></blockquote><p xmlns="http://www.w3.org/1999/xhtml">はホスト <code>www.ics.uci.edu</code> のポート <code>8001</code>
に接続した後、串によって転送されて</p><blockquote xmlns="http://www.w3.org/1999/xhtml"><ul><li><pre>OPTIONS * HTTP/1.1
Host: www.ics.uci.edu:8001</pre></li></ul></blockquote><blockquote xmlns="http://www.w3.org/1999/xhtml"><p>after connecting to port 8001 of host &quot;www.ics.uci.edu&quot;.</p></blockquote><p xmlns="http://www.w3.org/1999/xhtml">となります。</p></insert></delete><blockquote><p><del><ins>{1945,2068}</ins> The Request-URI is transmitted <del>as an encoded string, where some characters may be escaped using the &quot;% HEX HEX&quot; encoding defined by RFC 1738 [4] </del> <ins>in the format specified in section 3.2.1</ins>.</del> <ins><ins>{2616}</ins> If the Request-URI is encoded using the &quot;% HEX HEX&quot; encoding [42], the</ins> <del><ins>{1945,2068}</ins> The</del> origin server <del>must</del> <ins><ins>{2068,2616}</ins> MUST</ins> decode the Request-URI in order
to properly interpret the request. <ins><ins>{2068,2616}</ins> Servers SHOULD respond to invalid Request-URIs with an appropriate status code.</ins></p></blockquote><p><code class="ABNF">Request-URI</code> が <code>% <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HEX</anchor> HEX</code> 符号化を使って符号化されている場合には、
起源サーバーは要求を適切に解釈するために
<code class="ABNF">Request-URI</code> を復号しなければなりません。
サーバーは不当な <code class="ABNF">Request-URI</code> に対して適当な状態符号で応答する<strong>べきです</strong>。</p><insert xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><blockquote xmlns="http://www.w3.org/1999/xhtml"><p><ins>{2068,2616}</ins> <del>In requests that they forward, proxies</del> <ins>A transparent proxy</ins> MUST NOT rewrite the
&quot;abs_path&quot; part of <del>a</del> <ins>the received</ins> Request-URI <ins>when forwarding it to the next inbound server,</ins> <del>in any way</del> except as noted above to
replace a null abs_path with &quot;*&quot;<del>, no matter what the proxy does in its internal implementation</del>.</p></blockquote><p xmlns="http://www.w3.org/1999/xhtml">;<ins>次の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">上り</anchor>サーバーに</ins>転送する要求中では、<ins>透過</ins>串は、上で触れた null <code class="ABNF">abs_path</code> を
<code class="URI">*</code> で置換する場合を除いて、 <del>(その内部実装で串が何をしていようと、)</del> <ins>受信した</ins>
<code class="ABNF">Request-URI</code>
中の <code class="ABNF"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">abs_path</anchor></code> 部分を書き換えては<strong>なりません</strong>。</p></insert><blockquote><p><ins>{2068,2616}</ins> Note: The &quot;no rewrite&quot; rule prevents the proxy from changing the
meaning of the request when the origin server is improperly using a
non-reserved <del><ins>{1945,2068}</ins> URL</del> <ins>URI</ins> character for a reserved purpose. Implementers
should be aware that some pre-HTTP/1.1 proxies have been known to
rewrite the Request-URI.</p></blockquote><p>注意: 「書き換えしない」規則によって、起源サーバーが<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非予約</anchor> URI
文字を不適切に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">予約</anchor>目的に使っているときに串が要求の意味を変えてしまうことを防ぎます。
実装者は、 HTTP/1.1 以前の串で <code class="ABNF">Request-URI</code> を書き換えるものがあると分かっていることに注意するべきです。</p><insert xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml">注: 注記なき修正は 1945→2068 の変更点。</p></insert></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8025" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8025]</anchor-end> RFC 2068・2616 (HTTP/1.1) 5.2 The Resource Identified by a Request</figcaption><blockquote><p><del>HTTP/1.1 origin servers SHOULD be aware that the</del> <ins>The</ins> exact resource
identified by an Internet request is determined by examining both the
Request-URI and the Host header field.</p></blockquote><p>インターネット要求で識別される正確な資源は <code class="ABNF">Request-URI</code>
と <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Host</anchor></code> 頭欄の両方の検査で決定します。</p><blockquote><p>An origin server that does not allow resources to differ by the
requested host MAY ignore the Host header field value <ins>when determining the resource identified by an HTTP/1.1 request</ins>. (But see
section <del>19.5.1</del> <ins>19.6.1.1</ins> for other requirements on Host support in HTTP/1.1.)</p></blockquote><p>要求されたホストによって資源を変えることを認めない起源サーバーは、<ins>HTTP/1.1 要求により識別される資源を決定する時に</ins> 
<code class="HTTP">Host</code> 頭欄値を無視しても<strong>構いません</strong>。
(しかし HTTP/1.1 での <code class="HTTP">Host</code> 対応の他の要件について 19.6.1.1 節を参照。)</p><blockquote><p>An origin server that does differentiate resources based on the host
requested (sometimes referred to as virtual hosts or vanity
host<ins> </ins>names) MUST use the following rules for determining the requested
resource on an HTTP/1.1 request:</p></blockquote><p>要求されたホストによって資源を区別する起源サーバー
(時たま<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">仮想ホスト</anchor>とか変化ホスト名とか言われます。)
は、 HTTP/1.1 要求の要求している資源を決定するのに次の規則を使わなければ<strong>なりません</strong>。</p><blockquote><ol><li>1. If Request-URI is an absoluteURI, the host is part of the
Request-URI. Any Host header field value in the request MUST be ignored.</li><li>2. If the Request-URI is not an absoluteURI, and the request
includes a Host header field, the host is determined by the Host
header field value.</li><li>3. If the host as determined by rule 1 or 2 is not a valid host on
the server, the response MUST be a 400 (Bad Request) error message.</li></ol></blockquote><ol><li><code class="ABNF">Request-URI</code> が <code class="ABNF">absoluteURI</code> なら、
ホストは <code class="ABNF">absoluteURI</code> の一部。
要求中の <code class="HTTP">Host</code> 頭欄値は無視しなければ<strong>なりません</strong>。</li><li><code class="ABNF">Request-URI</code> が <code class="ABNF">absoluteURI</code>
でなく、要求が <code class="HTTP">Host</code> 頭欄を含んでいれば、
ホストは <code class="HTTP">Host</code> 頭欄値で決定します。</li><li>規則 1・2 で決定したホストがそのサーバーで妥当なホストでなければ、
応答は <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">400</anchor></code> (悪い要求) 誤りメッセージでなければ<strong>なりません</strong>。</li></ol><blockquote><p>Recipients of an HTTP/1.0 request that lacks a Host header field MAY
attempt to use heuristics (e.g., examination of the URI path for
something unique to a particular host) in order to determine what
exact resource is being requested.</p></blockquote><p><code class="HTTP">Host</code> 頭欄を欠いた HTTP/1.0 要求の受信者は、
どの資源が要求されているのかを決定するために発見的方法 (例えば特定ホストに固有の URI 経路を検査するとか)
を使うことを試みても<strong>構いません</strong>。</p></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8026" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8026]</anchor-end> <ul><li>RFC1945.Request-URI    = absoluteURI | abs_path</li><li>RFC2068.Request-URI    = &quot;*&quot; | absoluteURI | abs_path</li><li>RFC2616.Request-URI    = &quot;*&quot; | absoluteURI | abs_path | authority</li><li>RFC2616-Errata.Request-URI    = &quot;*&quot; | absoluteURI | abs_path [ &quot;?&quot; query ] | authority</li><li>RTSP.Request-URI = &quot;*&quot; | absolute_URI ;; RFC 2326 6.1</li></ul></p><ul><li><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> 新しい規格が出るたびに選択肢が増えていきますね!</li></ul><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>
HTTP で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">素片識別子</anchor>を送ってくる糞ロボットもたまにいます。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2004-03-16 07:53:34 +00:00</weak>)</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>
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal> ロボットだけじゃなくて <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WinIE 6.0</anchor> だったりするから藁えん。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2004-05-17 12:39:12 +00:00</weak>)</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>
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal>-6 素片識別子つきで送ってくる困った UA
は古今絶えたことのないのでございますが、
それに対応していない鯖は素片識別子をちゃんと捨てないので利用者からすればまったく困ったこととなってしまいます。
(本来鯖としては別にあえて対応する必要もないのですけど、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">人に優しく自分に厳しく</anchor>の原則からして、対応しておいても悪くないでしょう。)</p><p>ちょっと古いですけど、実際に問題になった例:
<cite>CyberDogの不具合</cite> <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://mtlab.ecn.fpu.ac.jp/WSM_1996/960823202241.html">http://mtlab.ecn.fpu.ac.jp/WSM_1996/960823202241.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8002" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8002]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WinIE</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:">百分率符号化</anchor>せずに
<code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Request-URI</anchor></code> に使って送ってきます。</p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8027" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8027]</anchor-end> RFC 2326 (RTSP) 6.2 Request Header Fields</figcaption><blockquote><pre>  request-header  =          Accept                   ; Section 12.1
                  |          Accept-Encoding          ; Section 12.2
                  |          Accept-Language          ; Section 12.3
                  |          Authorization            ; Section 12.5
                  |          From                     ; Section 12.20
                  |          If-Modified-Since        ; Section 12.23
                  |          Range                    ; Section 12.29
                  |          Referer                  ; Section 12.30
                  |          User-Agent               ; Section 12.41</pre></blockquote><blockquote><p>Note that in contrast to HTTP/1.1 [2], RTSP requests always contain
the absolute URL (that is, including the scheme, host and port)
rather than just the absolute path.</p></blockquote><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.1</anchor> とは異なり、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RTSP</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:">scheme</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">host</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">port</anchor> を含めて)
指定することに注意して下さい。</p><blockquote><p>HTTP/1.1 requires servers to understand the absolute URL, but
clients are supposed to use the Host request header. This is purely
needed for backward-compatibility with HTTP/1.0 servers, a
consideration that does not apply to RTSP.</p></blockquote><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> HTTP/1.1 はサーバーが絶対 URL
を理解することを要求していますが、
クライアントは <code class="HTTP">Host</code> 頭を使うことを想定しています。
これは単に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.0</anchor> サーバーとの後方互換性からの必要であって、
RTSP では考慮する必要はないのです。</p><blockquote><p>The asterisk &quot;*&quot; in the Request-URI means that the request does not
apply to a particular resource, but to the server itself, and is only
allowed when the method used does not necessarily apply to a
resource.  One example would be:</p></blockquote><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> Request-URI での星印 <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:">method</anchor>
が必ずしも資源に適用される物ではない時にのみ認められます。
一つの例を次に示します。</p><blockquote><p>OPTIONS * RTSP/1.0</p></blockquote></figure><section><h1>S-HTTP</h1><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">S-HTTP</anchor> では常に <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">*</anchor></code> とすることとなっていました <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="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;13</anchor-internal></src>。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">実際の<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:">HTTPメッセージ</anchor>側に指定することとなっていました。</comment-p><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="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <cite xml:lang="en">RFC 2660 - The Secure HyperText Transfer Protocol</cite> (<time>2014-11-09 14:12: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://tools.ietf.org/html/rfc2660#section-2.2">http://tools.ietf.org/html/rfc2660#section-2.2</anchor-external></li></ul></refs></section><section><h1>RFC 2109、RFC 2965 における定義</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8003" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8003]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2109</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2965</anchor> における<dfn>request-URI</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>の一部として送る <code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">absoluteURI</anchor></code>
のうちの <code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">abs_path</anchor></code> の部分です。 <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="8004" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8004</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8005" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8005</anchor-internal></src></p><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="8004" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8004]</anchor-end> <del><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2109</anchor></del> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">廃止</anchor>済み)<ul><li><csection xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:" xml:lang="en">2. TERMINOLOGY</csection></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8005" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8005]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2965</anchor><ul><li><csection xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:" xml:lang="en">1. TERMINOLOGY</csection></li></ul></li></ul></refs><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="8007" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8007]</anchor-end> 関連して <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">request-host</anchor> という用語があります。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8006" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8006]</anchor-end> つまり、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2109</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2965</anchor> における <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">request-URI</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:">path</anchor> の部分だけ (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">scheme</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">host</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">query</anchor> は含まない)
ということですね。</p></section><section><h1>HSTS</h1><blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8014" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8014]</anchor-end> <dl><dt>Request URI</dt><dd>
is the URI used to cause a UA to issue an HTTP request message.
See also &quot;Effective Request URI&quot;.</dd></dl></p></blockquote><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="8015" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8015]</anchor-end> <cite xml:lang="en">RFC 6797 - HTTP Strict Transport Security (HSTS)</cite> (<time>2014-06-02 05:16: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="http://tools.ietf.org/html/rfc6797#page-13">http://tools.ietf.org/html/rfc6797#page-13</anchor-external></li></ul></refs></section><section><h1>OData</h1><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OData</anchor> は <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">application/http</anchor></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:">HTTP</anchor> 仕様上認められているものの他、
(その <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">application/http</anchor></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="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;10</anchor-internal></src>。</p><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="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <cite>OData Version 4.0 Part 1: Protocol Plus Errata 01</cite> (<time>2014-09-04 16: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/odata/odata/v4.0/odata-v4.0-part1-protocol.html#_Toc370374937">http://docs.oasis-open.org/odata/odata/v4.0/odata-v4.0-part1-protocol.html#_Toc370374937</anchor-external></li></ul></refs></section></section><section><h1>関連</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8009" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8009]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Digest認証</anchor>で使われる <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uri</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:">request-URI</anchor>
と同じ値を指定することになっています。</p><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="8008" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8008]</anchor-end> <cite xml:lang="en">RFC 2069 - An Extension to HTTP : Digest Access Authentication</cite> (<time>2012-02-26 10:05: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://tools.ietf.org/html/rfc2069#page-7">http://tools.ietf.org/html/rfc2069#page-7</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8010" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8010]</anchor-end> <cite xml:lang="en">RFC 2617 - HTTP Authentication: Basic and Digest Access Authentication</cite> (<time>2012-01-09 21:04: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="http://tools.ietf.org/html/rfc2617#page-12">http://tools.ietf.org/html/rfc2617#page-12</anchor-external></li></ul></refs><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8013" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8013]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGI</anchor> には <code class="CGI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REQUEST_URI</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>) があります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8051" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8051]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求対象</anchor>の定義には含まれませんが、 <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Max-Forwards:</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>が適用される対象を指定するものとなっています。</p></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8052" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8052]</anchor-end> <cite><strong></strong>[<strong></strong>tech<strong></strong>]<strong></strong>HTTP GETメソッドのURIの長さ制限を調べてみた - Kazumi007の日記</cite>
( (<time>2014-11-28 17:22: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://d.hatena.ne.jp/Kazumi007/20090921/1253501500">http://d.hatena.ne.jp/Kazumi007/20090921/1253501500</anchor-external></p><p><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> <cite xml:lang="ja">AWS ALBに長いリクエストURLでGETすると414や500でエラーになる - YOMON8.NET</cite>
(<time>2017-10-02 03:09: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="http://yomon.hatenablog.com/entry/2017/08/25/012347">http://yomon.hatenablog.com/entry/2017/08/25/012347</anchor-external></p><figure class="quote"><figcaption><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> <cite xml:lang="en">Configuration • Akka HTTP</cite>
(<time>2018-03-27 23:00:57 +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://doc.akka.io/docs/akka-http/current/configuration.html">https://doc.akka.io/docs/akka-http/current/configuration.html</anchor-external></figcaption><blockquote><p># Sets the strictness mode for parsing request target URIs.</p><p># The following values are defined:</p><p>#</p><p># `strict`: RFC3986-compliant URIs are required,</p><p>#     a 400 response is triggered on violations</p><p>#</p><p># `relaxed`: all visible 7-Bit ASCII chars are allowed</p><p>#</p><p>uri-parsing-mode = strict</p></blockquote></figure><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> <cite xml:lang="en">Editorial: url ➡️ URL</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2018-08-17 20:57: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/fetch/commit/5088fce32b79bd0b22047d30869581f8b7e79be8">https://github.com/whatwg/fetch/commit/5088fce32b79bd0b22047d30869581f8b7e79be8</anchor-external></p></section></body></html>