URIとはなんの事?URIを構成する8つの要素について解説!

URIとはなんの事?URIを構成する8つの要素について解説!のアイキャッチイメージ

Webページの仕組みとは


インターネット上で公開されているWebページは、URLに含まれるドメインについてDNSサーバーに問い合わせを行い、返ってきたIPアドレスでWebサーバーにデータの要求を行うことにより、Webブラウザ上にデータがWebページとして表示されるという仕組みになっています。

そのため、Webページを表示する場合、まずはURLを入力する必要があります。

URIとは何のこと?


URIとは「Uniform Resource Identifier」を略した言葉で、URLとURNの総称です。Web上のファイルを認識するための識別子となっており、ファイルがどこにあるのかを示すURLと、Web側で認識されている名前を表すURNによって構成されています。

URIはURLやURNよりも広い概念を表す言葉となっており、URLやURNはURIによって決められているルールに則って記述されているケースもあります。

Webページのアドレス名称は?

Webページのアドレス名称を表す場合は、「URL」と呼んでも「URI」と呼んでもどちらでも問題はありません。

技術的にはWebページのアドレスの先頭にある「http:」や「https:」はURIとしてのスキームとされているため、技術仕様などに記載する場合はURIと表現するケースが多いです。

ただし、一般的にはURLと呼ばれるケースが多いことから、通常はURLと呼ぶのが適切だと言えるでしょう。

URIとURL・URNの関係性とは?


URLは「Uniform Resource Locator」を略した言葉で、Webのファイルがどこにあるのかという住所を意味するもの、URNは「Uniform Resource Name」を略した言葉で、Web側で対象を特定するために付けられている固有の名前です。

このURLとURNという2つの要素を包括するものがURIとなっており、URIとはURNとURLによって構成されたものを指します。

URIを構成する8つのパーツ


前述のとおり、URIとはURLとURNによって構成されていますが、パーツで分けると8つの要素によって成り立っています。そのため、それぞれのパーツの意味を理解することにより、URIがどのような内容になっているのかを読み取れるようになるでしょう。

ここではURIを構成する8つのパーツをご紹介しますので、どのようなパーツがあるのか参考にしてみてはいかがでしょうか。

1:scheme(スキーム)

「scheme(スキーム)」とは、URIの中の「http:(httpプロトコル)」部分を指します。また、「http:」以外にも「https:」「ftp:」「data:」「file:」などの種類があります。

さらに「urn:」というものもありますが、「urn:」はURIの中でURN用となっているスキームです。スキームはIANAと呼ばれる組織によって管理されています。

2:authority(オーソリティ)

「authority(オーソリティ)」とは、「//」で始まるアドレスにおける根元部分のパーツのことです。

また、オーソリティはさらに3つのパーツに分かれており、アクセスに使用するユーザー名とパスワードを表す「userinfo(ユーザー情報)」、アクセス先サーバー名である「host(ホスト)」、アクセス先サーバーのポート番号である「port(ポート)」で構成されています。

3:userinfo(ユーザー情報)

「userinfo(ユーザー情報)」とは、Webページへのアクセスに使用するユーザー名とパスワードを意味するパーツです。たとえば、オーソリティ部分が「//○○○:[email protected]:8080」となっている場合、「○○○:pass」がユーザー情報です。

4:host(ホスト)

「host(ホスト)」とは、アクセス先WebページのWebサーバー名を意味するパーツです。オーソリティ部分が「//○○○:[email protected]:8080」となっている場合、「www.example.com」の部分がホストです。

5:port(ポート)

「port(ポート)」とは、アクセス先WebページのWebサーバーのポート番号を意味するパーツです。オーソリティ部分が「//○○○:[email protected]:8080」となっている場合、「:8080」の部分がポートとなります。

6:path(パス)

「path(パス)」とは、指定したオーソリティ内のアクセス先を意味するパーツです。パスは一般的にはファイルやディレクトリなどのファイルシステム内の一意の場所を意味する言葉です。

たとえば、Webページのアドレスの「/news/index.htm」などの部分がパスとなります。

7:query(クエリ)

「query(クエリ)」とは、パスで指定した場所の中でアクセス内容をより細かく識別するためのパーツです。httpの場合は、サーバー上で動くプログラムに対する命令や指示などが記述されているケースが多いです。

たとえば、「?page=1&msg=yes」といった内容が記述されます。

8:fragment(フラグメント)

「fragment(フラグメント)」とは、メインの内容に加えて代替表現などを指定するパーツです。アンカーとも呼ばれていますが、正式名称はフラグメントです。

httpの場合はサーバーから送られた情報をブラウザが処理する際に用いられるもので、この情報はサーバーには伝えられません。たとえば、アドレスの最後に「#message」のように「#○○」の形式で記述される部分がフラグメントです。

URIと表現できる事例


前述のとおり、Webページのアドレスは「URL」と呼んでも「URI」と呼んでも問題ありません。しかしJavaのパッケージ名やタグライブラリなどの場合は、「URI」と表現することができるでしょう。

たとえば、パッケージ名が「package info.example.app.utils;」、タグライブラリが「<%@ taglib prefix="example" uri="https://example.info/jsp/tags-function" %>」のようになっている場合、これらには場所だけでなく識別名が含まれていることから、URIに分類することができるでしょう。

URIを理解する事のメリット


この記事でもご紹介しているとおり、Webページの「http:」や「https:」はURIのスキームとなっていることから、Webページのアドレスは技術的にはURIです。

そのため、URIとURLの具体的な違いを理解していることにより、Webエンジニアと技術的な話をする際にも話がわかりやすくなるでしょう。

もちろん普段はURLという言葉を使用する方が一般的ですが、URLに関連した技術的な話をする上で両者の違いを把握しておけば、認識に齟齬が生まれなくなります。

URIとは何かを知りWebページの仕組みへの理解を深めよう


URIとはWebページの場所を意味するURLと名称を意味するURNの2つを総称するものです。

ぜひ本記事でご紹介したWebページの仕組みやURIの概要、URIを構成する8つのパーツなどを参考に、普段利用しているWebページやURIについて理解を深めてみてはいかがでしょうか。

インフラエンジニア専門の転職サイト「FEnetインフラ」

FEnetインフラはサービス開始から10年以上『エンジニアの生涯価値の向上』をミッションに掲げ、多くのエンジニアの就業を支援してきました。

転職をお考えの方は気軽にご登録・ご相談ください。