私のホームページへ - 前の授業へ - 次の授業へ

情報処理IIA(HTML入門)第9回

目次
  1. URI
  2. 演習9
  3. レポート課題

URI

URIとは

URIUniform Resource Identifier)とは、主にインターネットで利用できる情報サービスの、通信方式や設置箇所を表す文字列です。 例えば、検索エンジン「ヤフー・ジャパン」を利用するときは、ブラウザの「場所:」入力欄に

http://www.yahoo.co.jp/

と入力して、ヤフーのホームページを表示します。 この文字列がURIの一例です。

もしかしたら、URLUniform Resource Locator)という用語のほうになじみがあるかもしれません。 URIはURLの拡張概念です。 ただし、この授業では、両者の差を意識する必要はありませんので、URIという用語をURLと読み替えてもかまいません。

URIは、ブラウザの「場所:」入力欄に入力する他に、HTMLファイルの中に書いて、リンク先を指定したり、画像ファイルの所在を示したりするのに使われます。 今までの授業では、ファイルのパス名を書いて、リンク先や画像ファイルを指定していました。 実は、今までファイルのパス名を書いていたところには、本当はURIを書くことになっています。 ただし、ファイルのパス名はURIの一種ですので、今まで間違っていたわけではありません。

URIには、絶対URIabsolute URI)と相対URIrelative URI)があります。 絶対URIは、情報サービスの通信方式や設置箇所を完全に指定します。 一方、相対URIは、それらを部分的に指定します。 相対URIが書かれたところには、基準となる絶対URIがあり、基準のURIと相対URIの両者から完全な指定がなされます。

絶対URIの書式

絶対URIの書式は次の通りです。

scheme:scheme-specific-part

ここで、scheme は通信方式を表す文字列です。 通信方式のうち重要なものは次の通りです。

scheme-specific-part は通信方式によって様々です。

file通信方式

file 通信方式の場合は、ここにファイルの絶対パス名を書いて、ローカルホストのファイルを指定します。 例えば、パス名が

/home/b00a/b00a001/schedule.html

であるファイルを作成した場合、ブラウザの「場所:」入力欄に

file:/home/b00a/b00a001/schedule.html

と入力しますと、そのファイルの内容が表示されます。

準備中のホームページや公開しないホームページは、この方法で開くとよいでしょう。

mailto通信方式

mailto 通信方式の場合は、scheme-specific-part の部分にメールアドレスを書きます。 例えば、メールアドレスが b00a001@twcu.ac.jp である場合、HTMLファイルに

...
<a href="mailto:b00a001@twcu.ac.jp">
メールはこちらまで</a>
...

と書きますと、ブラウザは「メールはこちらまで」の部分を始点のアンカーとして表示します。 そして、もしそのブラウザにメール送信機能があれば、その部分をクリックするとメール送信用のウィンドウが開きます。

http通信方式

http 通信方式の場合、URIの書式は次のようになります。 (実際は、もう少し複雑な形もあります。)

http://host path

ここで、host はWWWサーバのホスト名、path はファイルの絶対パス名です。 ただし、ファイルの絶対パス名と言っても、WWWサーバにおける絶対パス名とは少し異なります。

例えば、ブラウザの「場所:」入力欄に

http://www.twcu.ac.jp/dept/phil.html

と入力しますと、東京女子大学の哲学科のホームページが表示されます。 このURIは、ホスト名が www.twcu.ac.jp であるWWWサーバを指定しています。 しかし、指定されているファイルは、/dept/phil.html ではありません。

WWWサーバは、すべてのファイルを公開するのではなく、あるディレクトリを定め、その下のファイルのみを公開するようにしています。 そして、http 通信形式で絶対パス名が指定されたときには、そのディレクトリの下になるように、WWWサーバにおける絶対パス名が構成されます。 仮に、このWWWサーバではディレクトリ /var/lib/httpd/htdocs の下のみを公開すると設定しているとします(実際は違うと思いますが)。 すると、このURIはファイル

/var/lib/httpd/htdocs/dept/phil.html

を指定していることになります。

この授業の演習などで、例えば ~b00a001/WWW/ex1.html にHTMLファイルを作成したとき、ブラウザの「場所:」入力欄には

http://www.twcu.ac.jp/~b00a001/ex1.html

と入力してホームページを表示していました。 ここでも同様の仕組みが働いています。

WWWサーバは、各々のユーザに対しても、ホームの下のすべてのファイルを公開するのではなく、ホームごとにあるディレクトリを定め、その下のファイルのみを公開するようにしています。 そして、URI

http://host/~user/path

が指定されたときには、そのディレクトリの下になるように、WWWサーバにおける絶対パス名が構成されます。 WWWサーバ www.twcu.ac.jp では、WWW というディレクトリがそれです。 したがって、URI

http://www.twcu.ac.jp/~b00a001/ex1.html

は、ファイル

/home/b00a/b00a001/WWW/ex1.html

を指定していることになるのです。

ディレクトリの指定

file 通信方式や http 通信方式のURIでは、ファイルの絶対パス名の代わりにディレクトリの絶対パス名が書けます。 このようなURIが指定されたとき、WWWサーバの設定によってブラウザの反応は変わりますが、たいていは次のいずれかです。

例えば、ブラウザの「場所:」入力欄に

http://www.twcu.ac.jp/unofficial/

と入力しますと、東京女子大学の非公式情報のホームページが表示されます。 このURIは、WWWサーバ www.twcu.ac.jp のファイル

/var/lib/httpd/htdocs/unofficial/index.html

を指定しているのです。 (このサーバの公開するディレクトリが/var/lib/httpd/htdocsの場合。)

URIをどこに書くか

http 通信形式の URI は、ブラウザの「場所:」入力欄に入力されるだけではなく、HTMLファイルの中に書かれ、WWWサーバとファイルを指定します。 URIが書けるところは、今までファイルの相対パス名を書いていたところです。 具体的には、次の部分です。

画像
<img src="URI" alt="...">
背景画像
<... style="background-image: url(URI)">
リンク
<a href="URI">
フレーム
<frame name="..." src="URI">

相対URI

絶対URIとは、通信方式と設置箇所を完全に指定する文字列でした。 相対URIとは、これらを部分的に指定する文字列です。 相対URIは、主にHTMLファイルの中で用いられます。 このHTMLファイルを指定する絶対URIを、基準URIbase URI)とよびます。 相対URIが指定するものは、この相対URIと基準URIから決定されます。 この決定する手続きを、相対URIの解決といいます。

例として、基準URIが http://www.fiction.co.jp/people/1999/list.htmlであるとしましょう。 このとき、相対URIがどのように解決されるかを、例を通して説明します。

基準URI http://www.fiction.co.jp/people/1999/list.html
相対URI top.html
 →    http://www.fiction.co.jp/people/1999/top.html

ファイル名は相対URIの一種です。 この場合、基準URIの最後のファイル名を取り除き、相対URIのファイル名を付け加えた文字列に解決されます。

すなわち、http://www.fiction.co.jp/people/1999/list.html で指定されたHTMLファイルの中に、<a href="top.html"></a> というアンカーがあれば、そこをクリックすると http://www.fiction.co.jp/people/1999/top.html の内容が表示されます。

基準URI http://www.fiction.co.jp/people/1999/list.html
相対URI konishi/intro.html
 →    http://www.fiction.co.jp/people/1999/konishi/intro.html

ファイルの相対パス名も相対URIの一種です。 この場合も、基準URIの最後のファイル名を取り除き、相対URIの相対パス名を付け加えた文字列に解決されます。

基準URI http://www.fiction.co.jp/people/1999/list.html
相対URI ../1998/list.html
 →    http://www.fiction.co.jp/people/1998/list.html

相対URIでは、一つ上のディレクトリを指定することもできます。 ただし、http 通信方式の場合、サーバが公開しているディレクトリより上は指定できません。

基準URI http://www.fiction.co.jp/people/1999/list.html
相対URI /about/detail.html
 →    http://www.fiction.co.jp/about/detail.html

ファイルの絶対パス名も相対URIの一種です。 この場合は、基準URIの絶対パス名の部分を取り除き、相対URIの絶対パス名を付け加えた文字列に解決されます。

基準URI http://www.fiction.co.jp/people/1999/list.html
相対URI file:/home/staff/konishi/test.html
 →    file:/home/staff/konishi/test.html

HTMLファイルの中に絶対URIを書いた場合は、基準URIに関わらず、その絶対URIに解決されます。

絶対URIか相対URIか

HTMLファイルを書くとき、絶対URIと相対URIのどちらを用いたらよいでしょうか。 これは、HTMLファイルをどのWWWサーバのどのディレクトリに置くかによって様々です。

いま、ディレクトリ /home/b00a/b00a001/WWW にいくつかのHTMLファイルがあり、WWW の下に新しくディレクトリ info2a を作り、そこにそれらのファイルを移動したとしましょう。 もし、ファイル future.html の中でリンク先を絶対URI

http://www.twcu.ac.jp/~b00a001/in2010.html

で指定していたならば、これを

http://www.twcu.ac.jp/~b00a001/info2a/in2010.html

と書き直す必要があります。 一方、リンク先を相対URI in2010.html で指定していたならば、future.html を書き直す必要はありません。 なぜならば、移動後の future.html の基準URIは

http://www.twcu.ac.jp/~b00a001/info2a/future.html

なので、相対URI in2010.html は絶対URI

http://www.twcu.ac.jp/~b00a001/info2a/in2010.html

に解決されるからです。

絶対URIのほうが良い場合もあります。 例えば、ディレクトリ /home/b00a/b00a001/WWW にHTMLファイル intro.html

...
私が
<a href="index.html">
はじめて作ったホームページ</a>
を見てください。
...

を作成していて、この intro.html をあるプロバイダでも公開したくなったとします。 このとき、プロバイダに転送した後で、intro.html

...
私が
<a href="http://www.twcu.ac.jp/~b00a001/index.html">
はじめて作ったホームページ</a>
を見てください。
...

と、絶対URIによる指定に書き直す必要があります。 一方、はじめから絶対URIで指定していれば、プロバイダに転送したあと intro.html を書き直す必要はありません。

base タグ

<base>タグを用いると、HTMLファイルの所在に関わらず、基準URIを明示的に指定できます。 書式は、<base href="URI"> です。 このタグに終了タグはありません。 また、このタグは <head></head> の中に書きます。

例えば、

<html>
  <head>
    <title>Image file collection</title>
    <base href="http://www.fiction.co.jp/img/list.html">
  </head>
  <body>
    <h1>画像ファイルコレクション</h1>
    <img src="pic01.jpeg" alt="pic01">
    <img src="pic02.jpeg" alt="pic02">
    ...
  </body>
</html>

と書きますと、このHTMLファイルがどこにあったとしましても、画像ファイル

http://www.fiction.co.jp/img/pic01.jpeg,
http://www.fiction.co.jp/img/pic02.jpeg,
...

が指定されることになります。


演習9

以下の例を参考にして、「私のリンク集:世界の大学」を作成してください。 特定の地区に片寄らず、世界中から少なくとも5つの大学を選び、それらのホームページにリンクを張ります。 「世界の美術館」、「世界の動物園」などでもかまいませんが、統一したテーマで、世界中から5箇所以上選んでください。

私のリンク集:世界の大学

世界にはたくさんの大学があります。 その中から、気まぐれにいくつか選んでみました。

Ohio University(アメリカ)
University of Leeds(イギリス)
Universitaet Hamburg(ドイツ)
上海大学(中国)
University of Sydney(オーストラリア)


レポート課題

今日の演習9にしたがってHTMLファイルを作成し、konishi@twcu.ac.jpあてにメールでそのURL/URIを報告してください。 メールには、学生番号、氏名、科目名、授業の日付けを明記してください。


私のホームページへ - 前の授業へ - 次の授業へ
このページの複製は、東京女子大学学内に限り許可します。 このページへのリンクを許可します。
2000年6月29日更新
製作・著作:小西善二郎<konishi@twcu.ac.jp>