[小西ホームページ]   [目次・索引]   [前の授業]   [次の授業]

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

目次 索引
10.1 IPアドレス
10.1.1 IPアドレスとは
10.1.2 IPアドレスの割り当て
10.2 ドメイン名
10.2.1 ドメイン名の構造
10.2.2 ドメイン名の割り当て
10.3 URL
10.3.1 URLとは
10.3.2 絶対URL
10.3.3 相対URL
10.3.4 baseタグ
10.3.5 階層的なホームページ
10.4 演習10
10.5 レポート課題
baseタグ  IPアドレス  URI  URL  インターネットプロトコル  基準URL  絶対URL  相対URL  ドメイン  ネットマスク 

10.1 IPアドレス

これまでの授業では、HTMLについて学び、ファイルとディレクトリについて理解を深めました。 残りの時間で、ネットワークの仕組み、特に「なぜホームページが見られるのか」について説明します。 ネットワークの仕組みに詳しくなったからといって、高度なホームページが作成できるわけではありません。 「ホームページが見られない」といったトラブルに対処するときや、ホームページ関連のシステム管理に関わるようになったとき、ネットワークに関する知識が重要になるのです。

10.1.1 IPアドレスとは

インターネットを構成するコンピュータには、固有の番号が割り当てられています。 これを、 IPアドレスIP address )とよびます。 ここでIPとは、 インターネットプロトコルInternet Protocol )の略です。 プロトコルという用語は、通信規約という意味で使われています。 IPアドレスとは、インターネットの通信規約に基づく、コンピュータを区別する番号だと言えます。 インターネットでは、IPアドレスの重複は許されません。

例えば、東京女子大学のWWWサーバのコンピュータのIPアドレスは、

202.11.169.5

です。 IPアドレスの書式は、0から255までの範囲の数をドット(.)で区切って4つ書き並べたものです。 ビットの概念を知っていれば、0から255までの数は8ビットで表されることに気づくと思います。 IPアドレスは32ビットで表されます。 前述のIPアドレスを2進数で表すと、

11001010 00001011 10101001 00000101

となります。

10.1.2 IPアドレスの割り当て

現在、インターネットを構成するコンピュータは日を追って増えています。 新しいコンピュータには、まだ使われていないIPアドレスを割り当てる必要があります。

IPアドレスの重複を避けるため、IPアドレスの割り当てを行っている管理組織があります。 ただし、この管理組織は一台一台のコンピュータにIPアドレスを割り当てているわけではありません。 この管理組織は、会社、学校、プロバイダなど、インターネットを構成する組織(ネットワーク)ごとに、まだ使われていないIPアドレスの範囲を割り当てています。 そしてIPアドレスの範囲をもらった組織は、自分の組織のコンピュータに、自分の組織の判断で、その範囲からIPアドレスを順次割り当てます。

大きな会社などでは、管理組織からもらったIPアドレスの範囲を細分して部 に割り当て、各部はさらに細分して課に割り当てるといったことも行われています。 このようにして、IPアドレスが重複しないようにしています。

IPアドレスの範囲指定は、例えば32ビットの最初の24ビットは決められていて、残りの8ビットは組織に任されるといった、IPアドレスの2進表現に基づいて行われます。 仮に東京女子大学がこのように指定されたとしますと、学内では

11001010 00001011 10101001 00000000

から

11001010 00001011 10101001 11111111

まで、すなわち202.11.169.0から202.11.169.255までの256個のIPアドレスが使えるということです。 (範囲の両端には特別な意味がありますので、実際は254個です。)

ネットマスクnetmask )とは、IPアドレスの32ビットのうち、どのビットが固定され、どのビットが任意なのかを表す番号です。 上記の例ですと、最初の24ビットが固定(1)、残りの8ビットが任意(0)ですので、

11111111 11111111 11111111 00000000

すなわち255.255.255.0となります。


10.2 ドメイン名

インターネットを構成するコンピュータには、IPアドレスという固有番号がついていることを知りました。 しかし、IPアドレスは人間にとっては覚えにくいものです。 できれば、コンピュータに名前をつけ、その名前でコンピュータを指定したいところです。 このためには、次の問題を解決する必要があります。

前者はドメインという概念によって、後者はDNSという仕組みによって実現されています。 (DNSについては次回説明します。)

10.2.1 ドメイン名の構造

ドメインdomain )とは、一言で言えばコンピュータの集まりです。 ドメインは、階層構造を持ち、その構造は木で表されます。 ドメインには、階層構造を反映した名前(ドメイン名)がつきます。 ドメイン名の表現は、右から左に行くほど特定的になります。

例えば、usyd.edu.auはドメイン名です。 これは、オーストラリア(au)の、教育機関(edu)の、シドニー大学(usyd)を表します。 シドニー大学のWWWサーバのコンピュータにwwwと名前をつけた場合、このコンピュータはwww.usyd.edu.auという名前で指定できます。 なお、www.usyd.edu.auはコンピュータの名前ですが、これもドメイン名と考えます。 つまり、コンピュータを一つ集めたドメインと言うわけです。

               |
      +---+----+-+---+---+
      |   |      |   |   |
     com edu ... au  jp  ...
                 |
             +---+---+
             |       |
            edu      ...
             |
         +---+----+--------+
         |        |        |
        usyd     utas      ...
         |        |
      +--+--+  +--+--+
      |  |  |  |  |  |
     www ...  www ...

10.2.2 ドメイン名の割り当て

基本的に、各ドメインにはドメイン名の管理組織が存在します。 管理組織は、申請に応じて新しいドメイン名の設置を認めます。 しかし、より下のドメインのことは、そこの管理組織に管理を委任します。 例えば、edu.auドメインの管理組織は、オーストラリアに大学が新設されたときには、申請されたドメイン名をedu.auの下に設置します。 しかし、シドニー大学に学科が新設さたときは、何もせずusyd.edu.auドメインの管理組織に管理をまかせます。

この、階層構造を反映したドメイン名と、委任の仕組みによって、インターネットで一意となる名前が簡単に用意できます。 例えば、オーストラリアのタスマニア大学(utas.edu.au)で、あるコンピュータにwwwという名前をつけることは、タスマニア大学のみの判断でできます。 そして、このコンピュータの名前はwww.utas.edu.auなので、シドニー大学のコンピュータと名前が衝突することはないわけです。

ドメイン名の具体的な割り当ては次の通りです。 まず、木の一番上のドメイン(トップレベルドメインとよばれます)には、主に以下のようなものがあります。

com
主に営利を目的とした組織
edu
アメリカの教育機関
gov
アメリカの政府機関
net
主にネットワークを運営している組織
org
主に営利を目的としない組織

トップレベルドメインには、この他に国別のドメインがあります。 日本の場合はjpです。 jpドメインの下には、主に以下のようなドメインがあります。

ac.jp
日本の教育機関
co.jp
日本の会社組織
go.jp
日本の政府機関
ne.jp
日本のネットワーク運営組織
or.jp
日本の各種組織

jpドメインの下には、この他に都道府県を表すドメインや、一般的な名前(ブランドなど)のドメインがあります。


10.3 URL

10.3.1 URLとは

URL (Uniform Resource Locator)とは、主にインターネットで利用できる情報サービスの、アクセス方式や設置箇所を表す文字列です。 例えば、検索エンジン「ヤフー・ジャパン」を利用するときは、Netscapeの「場所:」入力欄に

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

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

URLは、Netscapeの「場所:」入力欄に入力する他に、HTMLドキュメントに書いて、リンク先を指定したり、イメージファイルの所在を示したりするのに使われます。 具体的には、次の部分です。 これまでファイル名を書いていたところです。

イメージ(タグ)
<img src=" URL ">
始点アンカー(タグ)
<a href=" URL "></a>
背景イメージ(タグ)
<body background=" URL "></body>
背景イメージ(プロパティ)
background-image: url( URL )
初期フレーム(タグ)
<frame src=" URL ">

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

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

10.3.2 絶対URL

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

scheme : scheme-specific-part

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

scheme-specific-part はアクセス方式によって様々です。

file方式の場合は、file:(正式にはfile://)に続けてファイルの絶対パス名を書いて、ローカルファイルを指定します。 例えば、パス名が

/home/b00a/b00a001/schedule.html

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

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

と入力しますと、そのファイルの内容が表示されます。 準備中のホームページや公開しないホームページは、この方法で開くとよいでしょう。

mailto方式の場合は、mailto:に続けてメールアドレスを書きます。 例えば、メールアドレスがb00a001@twcu.ac.jpである場合、HTMLドキュメントに

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

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

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

http:// host path

ここで、 host はWWWサーバのコンピュータの名前、 path はファイルの絶対パス名です。 ただし、ファイルの絶対パス名と言っても、WWWサーバのコンピュータにおける絶対パス名とは少し異なります。 例えば、Netscapeの「場所:」入力欄に

http://www.twcu.ac.jp/cis/index.html

と入力しますと、情報処理センターのホームページが表示されます。 このURLは、コンピュータwww.twcu.ac.jpで稼働しているWWWサーバを指定しています。 しかし、指定しているファイルは、/cis/index.htmlではありません。

WWWサーバは、すべてのファイルを公開するのではなく、あるディレクトリ(ドキュメントルートとよばれます)を定め、その下の部分のみを公開するようにしています。 そして、http方式で絶対パス名が指定されたときには、ドキュメントルートの下になるように絶対パス名が構成されます。 仮に、このWWWサーバのドキュメントルートが/var/lib/httpd/htdocsと設定されているとします。 すると、このURLはファイル

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

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

この授業の演習で、例えば

/home/b00a/b00a001/WWW-local/ip2a/ex1.html

にHTMLファイルを作成したとき、Netscapeの「場所:」入力欄に

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

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

WWWサーバは、各々のユーザに対しても、ホームディレクトリの下のすべての部分を公開するのではなく、ユーザごとにドキュメントルートを定め、その下の部分のみを公開するようにしています。 そして、URL

http:// host /~ user / path

が指定されたときには、ドキュメントルートの下になるように絶対パス名が構成されます。 コンピュータwww-local.twcu.ac.jpのWWWサーバでは、WWW-localというディレクトリがそれです。 したがって、URL

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

は、ファイル

/home/b00a/b00a001/WWW-local/ip2a/ex1.html

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

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

例えば、Netscapeの「場所:」入力欄に

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

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

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

を指定しているのです。 (ドキュメントルートが/var/lib/httpd/htdocsの場合。)

10.3.3 相対URL

絶対URLとは、アクセス方式と設置箇所を完全に指定する文字列でした。 相対URLとは、これらを部分的に指定する文字列です。 相対URLは、主にHTMLドキュメントで用いられ、そのHTMLファイルが基準になります。 基準となるHTMLファイルを指定する絶対URLを、 基準URLbase URL )とよびます。 相対URLが指定するものは、この相対URLと基準URLから決定されます。 この決定手続きを、相対URLの解決といいます。

例として、基準URLが

http://www.fiction.co.jp/people/1999/list.html

であるとしまして、相対URLがどのように解決されるかを説明します。

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

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

http://www.fiction.co.jp/people/1999/list.html

で指定されたHTMLファイルのドキュメントに、

<a href="top.html"></a>

という始点アンカーがあれば、そこをクリックしますと

http://www.fiction.co.jp/people/1999/top.html

の内容が表示されます。

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

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

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

相対URLでは、一つ上のディレクトリを指定することもできます。 ただし、http方式の場合、ドキュメントルートより上は指定できません。

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

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

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

HTMLドキュメントに絶対URLを書いた場合は、基準URLに関わらず、その絶対URLに解決されます。

10.3.4 baseタグ

<base> タグを用いますと、HTMLファイルの所在に関わらず、基準URLを明示的に指定できます。 書式は、 <base href=" URL "> です。 このタグに終了タグはありません。 また、このタグは <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ファイルがどこにあったとしましても、イメージファイル

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

10.3.5 階層的なホームページ

ホームページが大規模になりますと、一つのディレクトリにすべてのファイルを置いたのでは、管理が難しくなります。 階層的ディレクトリを利用して、ファイルを分類、整理するべきです。 しかし、これはそれほど単純な作業ではありません。 きちんとした方針を定めておかないと、ファイルが増えるにつれて、どこに何があるのか分からなくなってしまいます。

有用な方針のひとつに、「表現対象に階層構造があれば、それをディレクトリの構造に反映させる。」があげられます。 この方針に従ったホームページの作成例を、以下に示します。

ここで、「東京都ガイド」というホームページの作成について考えます。 これは、都内の観光地を紹介するもので、紹介する観光地は順次増やしていく予定とします。 最初の観光地を東京女子大学とし、次のようにホームページを作成したとします。

tokyo.html
東京都ガイド

東京都のお勧めスポットは 杉並区 です。
suginami.html
杉並区ガイド

杉並区は 東京都 にあります。 杉並区のお勧めスポットは 東京女子大学 です。
twcu.html
東京女子大学ガイド

東京女子大学は 杉並区 にあります。

この程度でしたら、階層的ディレクトリを利用しなくても大丈夫です。 しかし、観光地を増やしていくにつれて、ディレクトリ ip2a には、市区町村のHTMLファイル、観光地のHTMLファイル、そして練習用のHTMLファイル(ex1.html など)が混在することになり、だんだんファイルが探しにくくなることが予想されます。

そこで、「都道府県」→「市区町村」→「観光地」という階層構造を利用して、次のようにファイルを整理することにします。

                    :
                    |
                  ip2a
                    |
      +-------------+-------------+
      |             |             |
  ex1.html      ex1.html~       tokyo
                                  |
                    +-------------+
                    |             |
                suginami     tokyo.html
                    |
                    +-------------+
                    |             |
              suginami.html     twcu
                                  |
                                  +
                                  |
                              twcu.html
  1. 「東京都ガイド」のディレクトリ tokyo を作成します。
  2. このディレクトリの中に、市区町村のディレクトリ(この段階では suginami のみ)を作成します。
  3. 市区町村のディレクトリの中に、観光地のディレクトリ(この段階では twcu のみ)を作成します。
  4. 「東京都ガイド」のトップページ tokyo.html はディレクトリ tokyo の中に作成します。
  5. 市区町村のHTMLファイル(この段階では suginami.html のみ)は、対応する市区町村のディレクトリの中に作成します。
  6. 観光地のHTMLファイル(この段階では twcu.html のみ)は、対応する観光地のディレクトリの中に作成します。

端末エミュレータを用いてこれらのディレクトリを作成するは、次のようにします。

b00a001@Ampere:~% cd WWW-local
b00a001@Ampere:~/WWW-local% cd ip2a
b00a001@Ampere:~/WWW-local/ip2a% mkdir tokyo
b00a001@Ampere:~/WWW-local/ip2a% cd tokyo
b00a001@Ampere:~/WWW-local/ip2a/tokyo% mkdir suginami
b00a001@Ampere:~/WWW-local/ip2a/tokyo% cd suginami
b00a001@Ampere:~/WWW-local/ip2a/tokyo/suginami% mkdir twcu
b00a001@Ampere:~/WWW-local/ip2a/tokyo/suginami%

HTMLドキュメントを書く場合、リンク

に注意する必要があります。 ディレクトリの構造

                    :
                    |
                  ip2a
                    |
      +-------------+-------------+
      |             |             |
  ex1.html      ex1.html~       tokyo
                                  |
                    +-------------+
                    |             |
                suginami     tokyo.html
                    |
                    +-------------+
                    |             |
              suginami.html     twcu
                                  |
                                  +
                                  |
                              twcu.html

から相対URLを求めますと、

となりますので、HTMLファイルは次のようになります。

~/WWW-local/ip2a/tokyo/tokyo.html
<h1>東京都ガイド</h1>
<p>
東京都のお勧めスポットは
<a href="suginami/suginami.html">杉並区</a>
です。
</p>
~/WWW-local/ip2a/tokyo/suginami/suginami.html
<h1>杉並区ガイド</h1>
<p>
杉並区は
<a href="../tokyo.html">東京都</a>
にあります。
杉並区のお勧めスポットは
<a href="twcu/twcu.html">東京女子大学</a>
です。
</p>
~/WWW-local/ip2a/tokyo/suginami/twcu/twcu.html
<h1>東京女子大学ガイド</h1>
<p>
東京女子大学は
<a href="../suginami.html">杉並区</a>
にあります。
</p>

これで、ファイルが増えても大丈夫になりました。 例えば、東京女子大学の写真を撮って twcu.jpg というファイルにしたならば、それをディレクトリ twcu の中に置きます。 観光地を増やすには、杉並区内ならばディレクトリ suginami の中に対応するディレクトリを作成します。 杉並区外ならば、いったんその市区町村のディレクトリを作成し、そしてその中に対応するディレクトリを作成します。


10.4 演習10

階層構造を持つホームページを作成してください。 以下の例を参考にして、スポーツの「リーグ」→「チーム」→「選手」、海外旅行の「国」→「都市」→「観光地」などの階層構造を考え、その構造を反映したディレクトリを作成し、それぞれのディレクトリにHTMLファイルを置いてください。 用意するHTMLファイルは3個です。 また、一つ上の階層と一つ下の階層にリンクを張ってください。 href 属性の値は、絶対URLではなく相対URLとします。

例 10.1 
~/WWW-local/ip2a/major/major.html
メジャーリーグに注目

メジャーリーグの注目チームは ヤンキース です。
~/WWW-local/ip2a/major/yankees/yankees.html
ヤンキースに注目

ヤンキースは メジャーリーグ のチームです。 ヤンキースの注目選手は 松井 です。
~/WWW-local/ip2a/major/yankees/matsui/matsui.html
松井に注目

松井は ヤンキース の選手です。

10.5 レポート課題

今日の演習10に従ってホームページを作成し、そのファイル名をkonishi@twcu.ac.jpあてにメールで報告してください。 メールには、学生番号、氏名、科目名、授業の日付け(6/12)を明記してください。


[小西ホームページ]   [目次・索引]   [前の授業]   [次の授業]

2003年6月12日更新
konishi@twcu.ac.jp
Copyright (C) 2003 Zenjiro Konishi. All rights reserved.