URIの構文、絶対URIと相対URI
はじめに
本記事では「Webを支える技術」で学んだ内容と別途気になって調べた内容や知識も含めアウトプットしています。
書籍に記載されている内容を順序立ててまとめるというよりは、整理しておきたい周辺の知識と深ぼった内容を雑多に書いています。
URI(Uniform Resource Identifier)
URIはインターネット上の情報資源を一意に識別するための文字列の形式であり、一般的にはウェブサイトのアドレスとしてよく見かけます。
URIの基本的な構造とそれぞれの部分が何を意味するのかを解説します。
URIの一例
以下のような形式の文字列がURIの一例です。
https://example.com:8080/path/to/resource?query=value#fragment
URIの構成要素
上記の例にはさまざまな部分が含まれています。それぞれの部分を見ていきましょう。
スキーム(Scheme)
URIの最初の部分であり、コロン(:
)で終わります。
このURIのスキームは https
です。
これは通信プロトコルを表しています。
一般的にはHTTPまたはHTTPSを指しますが、他にもFTP、telnetなどのプロトコルも存在するようです。
ホスト(Host)
スキームに続く部分で、サーバーの名前またはIPアドレスを示します。
このURIのホストは example.com
です。
ウェブ上のリソースが配置されているサーバーを指し示します。
ポート(Port)
ホスト名の後のコロン(:
)で始まる部分で、サーバー上の特定のプログラムまたはサービスを識別します。
このURIのポートは 8080
です。
HTTPのデフォルトポートは80、HTTPSのデフォルトポートは443ですが、他の番号も可能です。
パス(Path)
ポートまたはホストの後にスラッシュ(/
)で始まる部分です。
このURIのパスは /path/to/resource
です。
サーバー上の特定のリソースへのパスを表します。
クエリ(Query)
パスの後にクエスチョンマーク(?
)で始まる部分で、キーと値のペアで構成されます。
このURIのクエリは query=value
です。
これはサーバーに対する特定のクエリまたは指示を表します。
フラグメント(Fragment)
URIの最後の部分で、ハッシュマーク(#
)で始まります。この部分はブラウザによって処理され、特定の部分にスクロールするよう指示します。
このURIのフラグメントは fragment
です。
以上がURIの構成要素とその機能になります。
URIはインターネット上の情報資源を正確に識別するための非常に重要なツールで、それぞれの部分が協調してリソースの場所とそれへのアクセス方法を指示します。
絶対URIと相対URI
URIのパスはUNIXファイルシステムと同じように'/'をルートとし、ディレクトリ名を'/'で区切り表現する階層構造を持ちます。
絶対URIと相対URIは、その名の通り、URIを記述する形式が「絶対的か相対的か」で区別されます。
絶対URI
絶対URIは、リソースが存在する位置を一意に特定できる形式で、スキーム名から始まります。これは、Web上の特定の場所を完全に指定します。
例えば、https://www.example.com/directory/page.html
は絶対URIです。
これはインターネット上の一意の位置を指定します。
相対URI
一方、相対URIは現在の文書または基準URIとの相対的な位置を指定します。
つまり、相対URIはそれ自体では完全なURIを形成せず、他のURIと組み合わせて初めて完全なURIを形成します。
例えば、あるHTMLページから同じディレクトリにある別のHTMLページを参照する場合、相対URIを使用できます。
この場合、**/directory/page2.html**
は現在のページからの相対パスを示します。
相対URIを使うことで、同じウェブサイト内でのリンクやリソース参照を簡潔に記述できますが、異なるウェブサイト間や、一意に特定しなければならない場合には絶対URIを使用します。
参考
おしまい
コメント
本記事の内容は以上になります!
書籍の続きのアウトプットも随時更新したいと思います。
プログラミングスクールのご紹介 (卒業生より)
お世話になったプログラミングスクールであるRUNTEQです♪
こちらのリンクを経由すると1万円引きになります。
RUNTEQを通じて開発学習の末、受託開発企業をご紹介いただき、現在も双方とご縁があります。
もし、興味がありましたらお気軽にコメントか、TwitterのDMでお声掛けください。