URIにおける絶対パスと相対パス

URIにおける絶対パスと相対パス

投稿日: 2025年06月27日

Tips
要約
  • URIには絶対パスと相対パスがあり、階層構造を持つ。
  • 相対URIはベースURIを必要とし、そこから絶対URIに変換される。
  • 次回はベースURIの考え方とその指定方法について解説する。
音声で記事を再生

はじめに

前回はURIの基本構造とそこに含まれる複雑な構文について触れてきました。
今回は、URI仕様の中で重要な絶対パスと相対パスについてを見ていきましょう!

関連記事もご覧ください!

絶対パスと相対パス

URIのパスは、UNIXのファイルシステムと同じような階層構造を持っています。
「/」をルートとして、ディレクトリ名を「/」で区切り、必要であれば最後にファイル名を接続する記法です。
OSのファイルシステムでは、ルートから記述したパスのことを「絶対パス」と呼びます。
相対パスは、現在の場所から指定の場所への「辿り方」を指定する表記です。

OSのファイルシステムの場合、毎回絶対パスを書くのは冗長なので、コマンドラインからディレクトリやファイルの位置を指定する場合は、カレントディレクトリ(現在地のディレクトリ)からの相対パスで表すのが一般的です。
ファイルシステムでは、カレントディレクトリは「.」親ディレクトリでは「..」で表現します。
例えば、barディレクトリに現在いるとすると、表1の左側の相対パスは、それぞれ右側の絶対パスに対応します。

表1(起点は/foo/bar/)

URIにおける絶対パスと相対パス|ShiftBブログ

実は、OSのファイルシステムと同様い、URIにも相対URIと絶対URIがあります。

相対URIと絶対URI

以下、相対URIと絶対URIの例とします。

絶対URI

http://example.jp/foo/bar

相対URI

/foo/bar

ベースURI

相対URIは、そのままではクライアントが解釈できません。その相対URIの起点となるURIがどこなのかが分からないからです。
この起点となるURIを指定するのがベースURIです。
例えば、ベースURIがhttp://example.jp/foo/barだとしましょう。
表2を参照ください。
左側の相対URIは、それぞれ右側の絶対URIに対応します。
相対パスと同様に「.」と「..」が使える他、クエリパラメータやURIフラグメントも相対パスとして使えます。
また、「/」から始まる相対URIは、ホスト名からのパスとして解釈します。(/hoge/fuga)

このように、相対パスを絶対パスに変換するためにはベースURIが必要となります。

表2

URIにおける絶対パスと相対パス|ShiftBブログ

さいご

今回は、絶対パスと相対パスの違いや、それがURIの中でどのように扱われるかを見てきました。URIもファイルシステムと同様、階層構造を持ち、相対的な指定が可能です。

しかし、相対URIを解釈するには「ベースURI」という基準が必要です。
次回は、このベースURIの考え方や、HTMLなどで明示的にベースURIを指定する方法について見ていきましょう。

シェア!

Threads
Loading...
記事一覧に戻る
Threads
0