質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.03%

パスの呼び方について

解決済

回答 3

投稿

  • 評価
  • クリップ 5
  • VIEW 3,249

score 407

HTML上で他ページへのリンクを作る際、
「相対パスで指定して欲しい」などのようにパスの指定方法を他人と共有する場合、
次のようなケースではそれぞれどのように呼ぶのが正解ですか?
用語定義の話なんですが、それらしい文献が見つからなかったので質問しました。

■想定するケース
http://www.example.com/contents/page1.html
から
http://www.example.com/contents/page2.html
にリンクする

  1.  aタグのhrefに「./page2.html」と設定する場合
  2.  aタグのhrefに「/contents/page2.html」と設定する場合
  3.  aタグのhrefに「http://www.example.com/contents/page2.html」と設定する場合

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

checkベストアンサー

+9

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/06 01:58

    おお、さらに詳しいRFCがあったんですね。
    相対参照と、絶対パス、相対パスが別概念と言うことで私の想像と同じでした。

    キャンセル

  • 2015/10/06 09:12

    think49さん
    いつもお世話になっております。

    まさにこのようなRFCを探してました。
    ありがとうございます!

    キャンセル

+2

HTMLのメンテナンス性を考えた場合、
1. 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 17:25

    ご回答ありがとうございます!
    私の認識でも
    1.は相対パス
    2.は絶対パス
    3.はURL
    という感じです。
    実際の定義は置いておいたとして、相対URLや絶対URLなどの語句があると
    そもそも「URL」とは?のような話になってしまうので上記の3通りかなと思ってました。

    もう少し待ってみて他に良いご回答がなかったらベストアンサーにさせていただきます。

    キャンセル

-1

HTMLの相対パス、絶対パスを紹介します【HTML5実践編】
このサイトには,
1は相対パス,2はサイトルート相対パス,3は絶対パス
と紹介されています.
サイトルート相対パスは,ルート相対パスとも呼ばれるそうです.

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/10/05 17:24

    ご回答ありがとうございます!
    紹介いただいたページは質問を投稿する前に拝見しました。
    ただ、それがスタンダードなのか、何らかの根拠があるのか判断できなかったので質問した次第です。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.03%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る