- ホーム >
- 基礎知識 >
- インターネットの仕組み >
URI(URL)~ 絶対URI・相対URIとは ~
ウェブページは、インターネット上に無数に存在するWWWサーバに保存されており、ウェブページを閲覧するためには、そのサーバの場所を指定しなければなりません。
そのインターネットにおける住所表記に当たるものが、
URI(ユーアールアイ)
と呼ばれる記述方法になります。
一般的にはURL「ユーアールエル」が使われることがほとんどなので、URI「ユーアールアイ」という名称に違和感がある方も多いのではないでしょうか。
URLは多くの方に馴染みのある用語なので知らない方はほぼいないと思いますが、Web関係者や技術者たちは「URI」を使うことのほうが多いのです。
URIは「Uniform Resource Identifier」の略で、URLは「Uniform Resource Locator」略になります。
両者の違いは、URLがインターネット上にある情報資源(HTML文書や画像など)の「場所」を指し示す表記方法であるのに対し、URIはもっと広い意味で、
すべての情報資源を識別する
記述方法になります。
URIには、インターネット上の情報資源のみならず書籍のISBN番号なども含まれており、世界中の情報資源を識別するために用いられる記述方式です。
URIはウェブページや画像などのファイルの「場所」に重点を置くのではなく、情報資源を識別して特定するものです。そのため「場所」以外に「名前」で表すこともあります。
これ以上の詳しい解説は割愛しますが、要するに、URIはURLを包括した広義的な用語になります。そのため、当サイトでは以後、URIに統一して解説していきたいと思います。
ただし、ウェブページを指定する場合に限って言えば、URIもURLも違いはありません。
では本題に入ります。
インターネットを利用したことがあってURIを見たことがないという人はまずいないと思います。最もよく知られている表記が「http://~」という表記です。(現在では多くのサイトが「https://~」の表記になっていますが、本項では同一のものと考えてください)
これは、HTTPプロトコルによってWWWシステムの情報資源(ウェブページ)を指定する最も一般的なURIになります。
あるウェブページを閲覧するときには、例えばブラウザに下記のようにURIを記述して、そのウェブページの場所を指定します。下記は、当サイトの「現在のページ」のURIです。
http://www.yamanjo.net/knowledge/internet/internet_09.html
このURIは、下のような構造になっています。
このようにURIは、URIスキーム・責任者部・パス部から構成されています。
URIスキームとは、どのようなルールでその情報資源にアクセスするかを指定するもので、ウェブページであるHTMLファイルを指定する場合は、HTTPプロトコルによる通信なので「http:」になります。
つまり、URIスキームは「http:」以外にも存在するということになります。インターネットにはWWW以外の要素もあるので「http:~」以外にも「ftp:~」や「mailto:~」など実に40種類以上もあります。
次に、責任者部は「サーバ名」と「ドメイン名」で構成されています。
先頭に「//」を記述することで、ネットワーク上にある情報資源であることを示します。なぜ2本なのかは、パスとは で学習した「絶対パス」のルートフォルダを1本で示すことから、それよりもルートであるネットワークサーバを表すので2本という説もあります。
上の例では「www」がサーバに当たりWWWサーバを表しています。ここもWWWサーバではなくFTPサーバの場合は「ftp」となります。(FTPについては次項で解説します)
ドメイン名は、企業や団体、教育機関、個人に割り当てられる世界でただ一つの名称になります。(ドメイン名について詳しくは、IPアドレスとは(1) で改めて学習します)
上の例では「.net」ですが「.ac」は教育機関、「.co」は一般企業、「.ne」はネットワークサービス会社、「.jp」は日本、「.uk」はフランスといった割り当てルールがあります。
それより前の「yamanjo」の部分はユーザーの任意で取得します。ただし、唯一の名称(ユニークと言う)である必要があるため、すでにその文字列が使われている場合には使用することができません。
メールアドレスの取得で、すでに文字列が使用されていてドメインが取得できなかったという経験があるのではないでしょうか。 詳しくは後述しますが、メールアドレスもURIもドメイン部分は固有のものなので基本的に同じです。
通常、ドメイン名は契約したプロバイダから任意に割り当てられますが、最近では、覚えやすい好みのドメインを習得する「独自ドメイン」を購入して、自分のウェブサイトやメールアドレスに使用する例も増えています。
最後にパス部は「フォルダ名」と「ファイル名」で構成されています。
パス部の記述については、パスとは で学習したOSのファイル管理のパスの記述方法と基本的に同じです。スラッシュでフォルダの階層を区切ってファイル名まで指定します。
以上がURIの構造になります。
次はURIの記述方法についてです。
これまで解説してきたURIの記述方法は、
絶対URI
という記述方法になります。
絶対という言葉に聞き覚えがないでしょうか。 パスとは で学習したOSのファイル管理のパスの記述方法が「絶対パス」でした。
ということは、
相対URI
という記述方法も存在します。
絶対パスや相対パスとそれほど違いはありませんが、多少の違いはあるので注意が必要です。
まず絶対URIは、上の例と同様に、URIスキームからパス部までを完全にすべて記述したものであり、一般にURIと言えば、絶対URIを指します。
絶対URIでは、
ファイル名を省略することができる
ので、例えば、
http://www.yamanjo.net/
と、ファイル名を省略して記述することができます。
ただしこの場合は、そのファイルを保存しているサーバのデフォルト値(初期設定値)が適用されるため、一般的に「index.html」というファイルが指定されます。
つまり、上のようにファイル名を省略して絶対URIを記述した場合は、
http://www.yamanjo.net/index.html
が自動的に指定されることになります。
たいていのウェブサイトのURIはファイル名を省略して公表されています。例えば、Yahoo! JAPANの「http://www.yahoo.co.jp」や日本テレビの「http://www.ntv.co.jp」などです。
Yahoo! JAPANのURIをブラウザに入力すると、自動的に「http://www.yahoo.co.jp/index.html」が指定されているのです。「http://www.yahoo.co.jp/index.html」とブラウザに入力してもYahoo! JAPANのウェブサイトを開くことができます。
最後のスラッシュ「/」についても省力することができますが、「フォルダ名」で終了する場合には最後のスラッシュを省略することはできません。
例えば「http://yamanjo.net/test1/test2/」と「http://yamanjo.net/test1/test2」は異なるファイルを指定することになります。前者は「test2」フォルダの「index.html」で、後者は「test1」フォルダの「test2.html」を指定していることになります。
また先述のとおり、絶対パスとの相違点として、絶対パスはスラッシュ「/」でルートフォルダを表し、そこからファイルまでの位置を指定する違いがあります。
次に相対URIですが、相対URIについては相対パスとまったく同じです。
相対URIは、相対パスと同様に、あるファイルやフォルダを起点として目的のファイルやフォルダまでのルートを示す記述方法です。本項では割愛しますので、詳しくは パスとは を参照してください。
このように、URIによって広大なインターネット上に散在する情報資源の位置を指定することで、ウェブページを閲覧したり、ファイルをダウンロードすることができるようになります。
もっとも、無数に存在するウェブページを閲覧するのに、いちいちブラウザのアドレスバーにURIを打ち込んでいたのでは手間がかかるうえに、そもそもURIを覚えておくことも困難です。
インターネット上の無数のページをスムーズに移動できるのは「ハイパーリンク」によってページ同士が結ばれているからです。
ハイパーリンク(または単にリンク)とは、
特定の文字や画像にURIを埋め込んでおく
ことです。
つまり、その文字や画像をユーザーがクリックするだけで、指定のURIにジャンプできる機能になります。
このリンク機能こそがWWWシステムの最も大きな特徴のひとつであり、WWWの爆発的な発展の要因となりました。(リンクについて詳しくは、WWWとは を参照してください)
更新履歴
- 2008年7月25日
- ページを公開。
- 2009年5月9日
- ページをXHTML1.0とCSS2.1で、Web標準化。レイアウト変更。
- 2018年1月26日
- ページをSSL化によりHTTPSに対応。
- 2022年12月21日
- 内容修正。
参考文献・ウェブサイト
当ページの作成にあたり、以下の文献およびウェブサイトを参考にさせていただきました。
- 管理人のつぶやき
- Twitterのフォローお願いします!