HTML上で他ページへのリンクを作る際、
「相対パスで指定して欲しい」などのようにパスの指定方法を他人と共有する場合、
次のようなケースではそれぞれどのように呼ぶのが正解ですか?
用語定義の話なんですが、それらしい文献が見つからなかったので質問しました。
■想定するケース
http://www.example.com/contents/page1.html
から
http://www.example.com/contents/page2.html
にリンクする
- aタグのhrefに「./page2.html」と設定する場合
- aタグのhrefに「/contents/page2.html」と設定する場合
- aタグのhrefに「http://www.example.com/contents/page2.html」と設定する場合
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答3件
0
ベストアンサー
RFC
URL関連の用語は、上記RFCを参考にする事をお勧めします。
URL | 名前(RFC) |
---|---|
./page2.html | 相対パス(RFC2396)、相対URI(RFC2396) |
/contents/page2.html | 絶対パス(RFC2396, RFC3986) |
http://www.example.com/contents/page2.html | 絶対URI(RFC2396, RFC3986) |
RFC3986 には「URI参照」「相対的参照」などの用語もあります。
URL Standard
URL Standard では「URL」を再定義しています。
URL | 名前(URL Standard) |
---|---|
./page2.html | パス相対スキームなしURL文字列(path-relative-scheme-less-URL string)、相対URL文字列(relative-URL string) |
/contents/page2.html | 絶対パス(RFC2396, RFC3986) |
http://www.example.com/contents/page2.html | 絶対URI(RFC2396, RFC3986) |
やや独特ですが、概ね、RFCと用語は同じです。
Adobe
Adobe 系列の DreamWeaver のドキュメントでは、RFCとは異なる定義がされており、RFCとの対応表が下記になります。
URL | 名前(Adobe) | 名前(RFC) |
---|---|---|
./page2.html | ドキュメント相対パス | 相対パス(RFC2396)、相対URI(RFC2396) |
/contents/page2.html | サイトルート相対パス | 絶対パス(RFC2396, RFC3986) |
http://www.example.com/contents/page2.html | 絶対パス | 絶対URI(RFC2396, RFC3986) |
Adobe は「絶対パス」を「サイトルート相対パス」として再定義しているようですが、「相対パス」と誤認識される元なのでこの用語は使って欲しくないと個人的には思っています。
おそらく、Adobe の言い分は「サイトルートを基点とした相対パス=サイトルート相対パス」と主張したいのでしょうが、ルートを基準にしたら絶対パスではないかと…。
投稿2015/10/05 16:45
編集2019/07/29 12:53総合スコア18194
0
HTMLのメンテナンス性を考えた場合、
- aタグのhrefに「./page2.html」と設定する場合
⇒ある階層の下のグループ内で相互にリンクする場合
2. aタグのhrefに「/contents/page2.html」と設定する場合
⇒階層のグループを越えてのリンク、/icons /js などサイト全体で共用する物へのリンク
3. aタグのhrefに「http://www.example.com/contents/page2.html」と設定する場合
⇒サイト内のリンクでは使わない
ということになるかと思います。そうするとファイルパスの呼び方にならって、1を相対パス、2を絶対パスというのが便利です。
このほかに、スキームだけ省略した
4. aタグのhrefに「//www.example.com/contents/page2.html」と設定する場合
というのもあります。
ただ問題は、URLのRFCに
2.3 階層的なスキームと相対的リンク
いくつかの場合において、URL は別のリソースへのポインタを含むロケートリ
ソースとして使われる。いくつかの場合、これらのポインタは、二次的なリ
ソースのロケーションの表現が "続く相対パス以外のものと同じ場所" に関す
る場合の相対的リンクの結果となる。相対的リンクはこのドキュメントにおい
て示されない。しかしながら、相対的リンクの使用は、相対的リンクの元とな
る階層構造を含んでいるオリジナル URL に依存している。
引用元:日本語訳rfc1738
という記述があり、URLの上位の方のいくつかの要素を省略した物を「相対的リンク」と呼ぶようです。
つまり上記3以外は全て「相対」。ただ、1と2が区別できない呼称は実用上無意味なので、上記のように「ファイルパス」の分類に準拠するのが実用的だと思います。
整理するとなると、「絶対URL」「相対URL」と「絶対パス」「相対パス」を全部区別するのもありますね。
絶対URL・絶対リンク・・・・・上記3だけ
相対URL・相対リンク・・・・・上記3以外
絶対パス・・・・・上記1以外
相対パス・・・・・上記1だけ
また、URL的には、「パス」というのはホスト名の後ろの部分のことを指すので、スキームやホスト名がついたURL全体を「パス」と呼ぶのはおかしい気がします。「リンク」ならいいのですが。その考えに立つと、
絶対パス・・・・・上記2だけ
相対パス・・・・・上記1だけ
ですね。3は「パス」じゃないということで、どっちでもない。
投稿2015/10/05 05:44
編集2015/10/05 06:52総合スコア86255
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
HTMLの相対パス、絶対パスを紹介します【HTML5実践編】
このサイトには,
1は相対パス,2はサイトルート相対パス,3は絶対パス
と紹介されています.
サイトルート相対パスは,ルート相対パスとも呼ばれるそうです.
投稿2015/10/05 05:35
編集2015/10/05 05:36総合スコア751
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/05 16:58
2015/10/06 00:12