<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="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:">基底URI</anchor> からの相対的な位置関係によってあらわされる <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI</anchor>。 Relative URI。</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> 太古の昔には部分 (partial) URI とも呼ばれました。</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> 現在では相対 URI は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">scheme</anchor> によらない一般構文が定められていますから、基底 URI と相対 URI が与えられれば機械的に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">絶対URI</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> 
類似の用語:<ul><li><code class="math"><dfn><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相対URL</anchor></dfn> := 相対 URI ∧ <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor></code></li><li><code class="ABNF"><dfn><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相対URI参照</anchor></dfn> := [ <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相対URI</anchor> ]  
[&quot;#&quot; [ <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">素片識別子</anchor> ] ] </code></li></ul></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:">BNF</anchor> では <code class="ABNF"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">relativeURI</anchor></code> などと表されることが多いです。</p><section><h1>特別な相対 URL の解決</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> 本来の <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>は <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:">URL scheme</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="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">jar:</anchor></code> は <code class="URI">!<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">! (CSS)</title></code> の扱いを特別に定めています。</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> <code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">smb:</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>に関する <code class="URI">..<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">.. (URL)</title></code>
の扱いを特別に定めています。</p></section><section><h1>その他 URL scheme ごとの事情</h1><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> <code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">gopher:</anchor></code> でも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相対URL</anchor>を使うことができ、
特別扱いもされてはいませんが、 <code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">gopher:</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> は <code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">http:</anchor></code>
のような階層的な意味を持たないので、<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:"><code xmlns="http://www.w3.org/1999/xhtml" class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">gopher:</anchor></code> 参照。</comment-p></section><section><h1>歴史</h1><section><h1>RFC 1808</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> <dfn><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1808</anchor></dfn> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相対URL</anchor>を規定していた <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC</anchor> です。</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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2396</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:">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:"><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2396</anchor> との関係については、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2396</anchor> の項を参照。</comment-p></section></section><section><h1>関連</h1><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 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>といいます。</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:">Atom</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:">IANA</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="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CURIE</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:">相対URL</anchor>と見かけは似ていますが、全く異なるものです。</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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebDAV</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="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">単純参照</anchor>では <code xmlns="http://www.w3.org/1999/xhtml">.</code> と <code xmlns="http://www.w3.org/1999/xhtml">..</code> が禁止されています。</comment-p></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end>
<samp class="URI" xml:lang="en">http://foo.example/a/..</samp>
と
<samp class="URI" xml:lang="en">http://foo.example/a/../</samp>
は<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>では<em>ありません</em>。</p><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相対参照</anchor> <samp class="URI" xml:lang="en">b</samp> を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">解決</anchor>すると、それぞれ
<samp class="URI" xml:lang="en">http://foo.example/a/b</samp>
と
<samp class="URI" xml:lang="en">http://foo.example/b</samp>
になります。</p><p>参考:
<cite xml:lang="en">URL resolution sanity check</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="mid:42DCF11E.2060503@metalab.unc.edu">mid:42DCF11E.2060503@metalab.unc.edu</anchor-external>
(uri@w3 のスレ)</p><p>(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> [sage])</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end>
<cite>ITmedia News:ニフティ、動画にコメント付けられる「ニフニフ動画」</cite> (<code>2007-06-11 22:16:55 +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://www.itmedia.co.jp/news/articles/0706/11/news039.html">http://www.itmedia.co.jp/news/articles/0706/11/news039.html</anchor-external></p><pre class="HTML example code">&lt;noscript&gt;
	&lt;img src=&quot;//secure-jp.imrworldwide.com/cgi-bin/m?ci=itmedia&amp;amp;cg=0&quot; alt=&quot;&quot;&gt;
&lt;/noscript&gt;</pre><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"><strong>[</strong>css-values<strong>]</strong> Per WG resolution, define that empty urls must resolve t…</cite>
( (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">tabatkins</anchor>著, <time>2016-06-09 06:49: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/w3c/csswg-drafts/commit/e0518924c87638861e6b89cc303667b9421cf152">https://github.com/w3c/csswg-drafts/commit/e0518924c87638861e6b89cc303667b9421cf152</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"><strong>[</strong>css-values<strong>]</strong> Move empty URL section out of the way of normal readers.…</cite>
( (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">fantasai</anchor>著, <time>2016-06-09 07:48: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/w3c/csswg-drafts/commit/5f598ec4785ad42e018e081fcb9d50e80ae1d48f">https://github.com/w3c/csswg-drafts/commit/5f598ec4785ad42e018e081fcb9d50e80ae1d48f</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">Allow URLs without fragments</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2016-07-28 16:35: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/url/commit/f88f96fe4922cb7223f327cb41db613e4b11207c">https://github.com/whatwg/url/commit/f88f96fe4922cb7223f327cb41db613e4b11207c</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> <code class="math"><dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相対<rt xmlns="http://www.w3.org/1999/xhtml">relative</rt></rubyb> URI <rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">参照<rt xmlns="http://www.w3.org/1999/xhtml">reference</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:">URI参照</anchor></code></p><figure class="quote"><figcaption><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>RDF::Helper - search.cpan.org</cite>
(<time>2016-10-19 20:52: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="http://search.cpan.org/dist/RDF-Helper/lib/RDF/Helper.pm">http://search.cpan.org/dist/RDF-Helper/lib/RDF/Helper.pm</anchor-external></figcaption><blockquote><p>If specified, this option sets what the base URI will be when working with so called abbreviated URIs, like #me. If you do not specify an explicit base_uri option, then one will be created automatically for you. See http://www.w3.org/TR/rdf-syntax-grammar/#section-Syntax-ID-xml-base for more information on abbreviated URIs.</p></blockquote></figure><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> <cite xml:lang="en">Editorial: give URL syntax components their own terms</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2016-11-01 00:05: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/commit/451696e4297c4c676fae21dbc926aeafb2477e6c">https://github.com/whatwg/url/commit/451696e4297c4c676fae21dbc926aeafb2477e6c</anchor-external></p><figure class="quote"><figcaption><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">Activity Streams 2.0</cite>
(<time>2017-05-21 23:50: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://w3c.github.io/activitystreams/core/#h-urls">https://w3c.github.io/activitystreams/core/#h-urls</anchor-external></figcaption><blockquote><p>Relative IRI (and URL) references should not be used within an Activity Streams 2.0 document due to the fact that many JSON parser implementations are not capable of reliably preserving the base context necessary to properly resolve relative references.</p></blockquote></figure><figure class="quote"><figcaption><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>VRML97, ISO/IEC 14772-1:1997 -- 3 Definitions</cite>
(<time>2014-01-31 07:20: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://www.web3d.org/documents/specifications/14772/V2.0/part1/glossary.html#RURL">https://www.web3d.org/documents/specifications/14772/V2.0/part1/glossary.html#RURL</anchor-external></figcaption><blockquote><p>3.86 RURL</p><p>Relative Uniform Resource Locator. </p></blockquote></figure></section></body></html>