リソースにリンクするには、(少なくとも)3つの方法があります。
href="foo/bar.html"
href="/foo/bar.html"
href="http://example.com/foo/bar.html"
1つ目は「相対URL」です。問題ありません。しかし、私は(2)と(3)の両方が「絶対URL」と呼ばれているのを見てきました。どちらが正しく「絶対URL」と呼ばれ、もう一方の正しい名前は何ですか?
(関連する規格またはその他の公式文書を参照するためのボーナスポイント。)
RFC 3986 はUniform ResourceIdentifiersを定義します。
単一のスラッシュ文字で始まる相対参照は次のとおりです。
絶対パス参照と呼ばれます。する相対参照
スラッシュ文字で始まらないものは、相対パス参照と呼ばれます。
href="foo/bar.html"
は相対参照、具体的には相対パス参照です。href="/foo/bar.html"
は相対参照であり、 絶対パスhref="http://example.com/foo/bar.html"
は絶対URIhref="//example.com/foo/bar.html"
はネットワークパス参照です2つのスラッシュ文字で始まる相対参照は、ネットワークパス参照と呼ばれます。このような参照はめったに使用されません。
「絶対URLには、スキーム、ネットワークの場所、URLパスの一部など、ベースドキュメントの取得のコンテキストからすでにわかっている可能性のある大量の情報が含まれています。」
http://tools.ietf.org/html/rfc1808
番号(2)は絶対パス、(3)は絶対URLです。
私は見つけたW3の説明が好きです ここ :
URLを解決すると、それが何に関連して解決されたかに関係なく同じ出力が得られ、その出力が失敗ではない場合、URLは絶対URLです。
スキーム、パス、またはそのような他の概念は表示されませんが、基本的には、同じ入力が常に同じ出力をもたらすと言っています。 #3についてしか言えません。
しかし、私は技術にあまり夢中にならないでしょう-あなたの宇宙がウェブサイトであるならば、#2はまだ絶対です。また、あなたの宇宙が計画であるならば、//example.com/foo/bar.html
のようなものは絶対です。そのような場合の「絶対」という言葉は、開発者の観点からはまだ意味があると思います。
絶対URLの定義に適合するのは#3だけです。 1と2は相対URLです。
相対URL([RFC1808]で定義)にはプロトコルまたはマシン情報が含まれていません。そのパスは通常、現在のドキュメントと同じマシン上のHTMLドキュメントを参照します。相対URLには、相対パスコンポーネント(「..」は親の場所を意味します)が含まれる場合があり、フラグメントURLの場合もあります。出典: http://www.w3.org/TR/WD-html40-970708/htmlweb.html
URLを解決すると、それが何に関連して解決されたかに関係なく同じ出力が得られ、その出力が失敗ではない場合、URLは絶対URLです。出典: http://www.w3.org/TR/url/
RFC 3986 (URI Generic Syntax)は、セクション4.3で指定します。絶対URI次のルール:
absolute-URI = scheme ":" hier-part [ "?" query ]
したがって、#2は絶対URIではありません
(2)も関連URLであり、(3)絶対URLだと思います。
http://kb.iu.edu/data/abwp.html にいくつかの例を示します。
http://www.wisegeek.com/what-is-an-absolute-url.htm では、次のように説明されています。
「絶対URLは完全な位置情報を提供します。http://で始まり、すべての詳細を含めて続きます。これは、ウェブマスターが元のファイルの位置を変更した場合、絶対URL指定が画像を見つけるのに対し、相対URL指定はしません。」
私が#2で聞いた用語は、「ルート相対」です。これは、その意味が文言で明確であり、#1および#3と容易に区別できるため、有用な定義であると思います。
いくつかのさらなる視覚的な例で他の答えをサポートします。
https://datacash.custhelp.com/app/answers/detail/a_id/1067/~/fully-qualified-url
完全修飾URLには、http://(または https:// www )が含まれます。 URLがドメインだけの場合は、末尾の/も指定する必要があります。
これらのURLは完全修飾されています:
http://www.datacash.com/
https://www.datacash.com/
http://datacash.com/
https://datacash.com/
http://www.datacash.com/Transaction.html
https://www.datacash.com/Transaction.html
http://datacash.com/Transaction.html
https://datacash.com/Transaction.html
これらのURLは完全修飾されていません:
datacash.com
datacash.com/
datacash.com/Transaction.html
www.datacash.com
www.datacash.com/
www.datacash.com/Transaction.html
http://datacash.com
https://datacash.com
http://www.datacash.com
https://www.datacash.com