URIの複雑要素とその意味

URIの複雑要素とその意味

投稿日: 2025年06月19日

Tips
要約
  • URIの複雑な構成要素には、ユーザ情報、ポート番号、クエリパラメータ、フラグメントが含まれる。
  • これらの要素はWeb上でリソースを正確に指定するための重要なものであり、特にクエリパラメータは検索機能などで活用される。
  • 次回は絶対URIと相対URIについて解説する予定です。
音声で記事を再生

はじめに

前回、URIの基本構成である「スキーム」「ホスト」「パス」について解説しました。
今回は、基本構成に加えた複雑なURI構成を見ていきます!

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



複雑なURI

以下のような、より複雑な構成を持つ URI を見てみましょう。

http://yohei.pass@blog.example.jp:8000/search?q=test&debug=true#n10

この URI に含まれる主な構成要素は次の通りです:

  • スキームhttp

  • ユーザ情報yohei.pass

  • ホスト名blog.example.jp

  • ポート番号8000

  • パス/search

  • クエリパラメータq=test&debug=true

  • フラグメント#n10

各構成要素の解説

🧑‍💻 ユーザ情報

http://**yohei.pass**@~ のように、URIスキームの直後に現れる部分です。
これは、アクセス先のリソースに対して認証が必要な場合に使われ、ユーザ名とパスワード: で区切って指定できます。

ユーザ名:パスワード@ホスト

この記法は近年ではあまり使わず、基本認証はヘッダーで行うのが一般的です。


🌐 ホスト情報とポート番号

blog.example.jp:8000 のように、ホスト名とポート番号: で区切られて指定されています。

  • ホスト名は、インターネット上で一意なドメイン名(またはIPアドレス)

  • ポート番号は、省略時はデフォルト(HTTPは80、HTTPSは443)


📂 パス

/search の部分は、ホスト内のリソースを一意に示す階層構造です。


❓ クエリパラメータ

パスの直後に ? を挟み、名前=値 の形式でデータを渡します。

?q=test&debug=true
  • クエリが複数ある場合は & でつなげます

  • Web検索や絞り込み、ページネーションなどでよく使われます

  • この全体を「クエリ文字列」や「クエリパラメータ」と呼びます


🔗 フラグメント識別子(ハッシュ)

#n10

これは、指定されたリソースの中の特定部分を示します。
たとえば リソースがHTML 文書だった場合、id="n10" の要素にジャンプします。

おわり

今回は、URI のより複雑な構成として、ユーザ情報・ポート番号・クエリパラメータ・フラグメントといった要素について解説しました。
これらのパーツは、ただの文字列ではなく、Web 上でリソースを正確に指定するための意味ある構成要素です。
特にクエリパラメータは、僕も個人開発で検索フィルター機能を実装した際に活用しました。
これらの複数の要素は、ユーザーにとって柔軟な検索体験を提供できる重要な仕組みです。

次回は絶対URIと相対URIについての内容です!

シェア!

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