「インターネット概論」の目次

4. ネットワーク・アプリケーション(2)

平成12年1月15日14時01分版


 先月は1回で電子メールを説明しましたが, 今回は1回と1/2ぐらいで,WWWシステムの話をしようと思っています. WWWシステムは,ハイパーメディアとインターネットを結びつけた形で 立ち上がりました. 今では,いろいろな方向に拡張され,応用されていると思います. その原点であるハイパーメディアの概念は, マルチメディアとハイパーテキストの組合せです. と,いきなり横文字が出てきましたが, 要するに画像や音も使ってわかりやすくなったぞというわけです.

 で,枕が長くなってしまいましたが, WWWシステムとマルチメディアは関係が深いので, 来月はWWWシステムの残りと, マルチメディア的なアプリケーションの話をする事にしました. 10月26日からまた1週間程, 中国に行くので10月25日までに10月の原稿が出来るかは不安ですが, まずはこの9月を乗り切らないといけないようです.

 では,頑張って昨年の原稿に加筆,修正を加えて完成させます.


4.3 WWW(World Wide Web)システム

4.3.1 WWWシステムとは

 WWWはWorld Wide Webの略で世界に張られた蜘蛛の糸という意味だそうです. WWW自体は多くの雑誌や本や新聞にこれでもかと言うばかりに取り上げられています.

 WWWを構成する技術にも多くのものがありますが, その中で中心になる技術の一つがハイパーテキストもしくは ハイパーメディアと言われる技術です. ファイルの内容がテキストだけの時はハイパーテキストと言い, 画像や音声が関係するがマルチメディアと言うわけでハイパーメディアとなります. この概念自身は新しいものではありません. 皆さんが本や雑誌や新聞等を読んでいる時に,分からない言葉や もっと調べたい事項があったら,別の資料を何らかの手段で調べるのですが, ハイパーテキスト/メディアでは, その対象となる言葉や事項に線が引いてあれば 解説や説明のファイルが存在して,マウスのクリックだけで その解説や説明のファイルが表示されるものです.

 ホームページの中身であるHTML(HyperText Markup Language)は このハイパーテキスト/メディアを記述する言語で, ファイルの中の言葉や事項から他のファイルを呼ぶ所をリンクと呼びます. WWWのシステムとして優れた所はこのリンクにインターネットを使った事で, ネットワークを越えて他の計算機のファイルにアクセス出来るようにした事です. もちろん,それぞれの計算機ではWWWサーバが動いている事が必要です. あるWWWサーバにあるホームページを見た時に,ある事項をクリック(選択)すると, リンクされた別のファイルが呼び出されるのですが, そのファイルが別の計算機にある場合は その計算機のWWWサーバが呼び出されてユーザが意識せずとも 違う計算機にアクセスしている事になります.

 このように説明すると電子メールの仕組みを 理解された方はWWWサーバの互いに呼び合う仕掛けも 同じような仕組みであると気がつかれるでしょう. しかし,メールサーバと違って, ユーザがホームページのリンクをアクセスしたら別のWWWサーバの所在が あったので,その別のWWWサーバにアクセスに行くといった方が正しいでしょう. ユーザからみると次に述べるWWWのブラウザーで世界の情報を取る事が 出来るのでWWWという名前をつけたと思います.

 ハイパーテキスト/メディアの概念と, インターネットの力で世界の情報が居ながらにして取得出来る事は すばらしい事だと思います. ハイパーテキストの概念を私が知ったのは1980年代の後半で, ハイパーテキストの自動描画のような研究も始めていましたが, こんなに早くこのような世界規模で実現するとは思いませんでした.

 人は情報を体系化や理解するのに分類の力を借り, 木構造または階層構造を使ってきました. ハイパーテキストではこの木構造を 更に一般化したネットワーク構造をさ迷う事が出来ます. この事はおそらく両刃の刃でしょう. 自由な発想をする時にはこのネットワークをさ迷う事は (更に自分でネットワークを作る事が出来ればもっと良いでしょう) 何か新しい発見を得る事になると思います. 逆に何かを探したい時はちょうど迷路に入ったような感じになるでしょう.

 今の所,多くの所でWWWサーバが上がっており, そのサーバのホームページの中は階層構造に近い構造をしているので 分かりやすいと思います. 多くのWWWサーバを業種やテーマ等によって うまく分類して検索させるサービスも出て来ているので, この問題も解決するだろうと思っています. また,次に述べるWWWブラウザも進歩しているので, 階層化されたBookmarkや,自分で作ったリンク集等も 使ってネットサーフィンする事になります.

 これからは各WWWサーバが行う電子的商取引とか情報提供サービスとか 仮想世界でのいろいろな試みがなされるでしょうが, これらは10月の講義の中で触れられればと思います.


4.3.2 WWWブラウザ

 WWWサーバで多くの組織が情報発信をしていますが, この内容をほとんどマウスのクリックのみで見るソフトウェアを WWWのブラウザ(browser)と呼びます. 最初はMosaic(モゼイクと言いましょう)というソフトウェアが便利に使われたのですが, 最近ではNetscape Navigator/Communicatorや Internet Explorer等の便利なブラウザーが出ています.

 このブラウザーはWWWサーバにあるホームページの内容を見るものだけではなくて, 今までのインターネットのアプリケーションを 非常に簡単に使えるようにされようとしています. その意味ではインターネットというばUNIXの難しい言葉 (私にはとても馴染みがあり分かりやすいのですが)を覚えないといけないのを, ちょうど駅で切符を買うように手軽に操作出来るような ユーザ環境を提供してくれています. UNIXやインターネットがプロの手にあったのを, WWWサーバやブラウザーであるやNetscape Navigator/Communicatorや Internet Explorerは素人の手にも扱えるようにしたと言う人もいます.

 ブラウザーはWWWサーバにある情報だけでなく, 匿名でアクセス出来るファイルサーバにあるファイル群や, 電子ニュースや電子メールでさえも扱う事ができます. したがってブラウザーだけでWWWサーバの連係した世界だけでなく インターネットでの仕事の多くが出来るとようになっています.


4.3.3 情報共有のためのWWWシステム

 情報発信や検索がWWWシステムではよく取り上げられていますが, それと同じぐらいに着目して欲しいのが情報共有のための使い方です. これは情報発信/掲示がマルチメディア的にも簡単に出来るのと, ユーザが操作の簡単なNetscape NavigatorのようなWWWブラウザで情報を 簡単にアクセス出来る2点が組み合わされて実現できたものです.

 HTMLやいくつかの画像や音声のファイル形式による表現形式の統一化で ホームページ等の作成は比較的容易になりました. 情報発信する方も元データとして情報が蓄積出来, 加工も出来るので作成するほうも張合いがあるでしょう.

 情報を見るユーザとしても,操作環境が画面の上の ボタンやウィンドウのスクロールやマウスのクリック程度の習熟で良いので 小さい子どもは当然ですが, コンピュータにアレルギがある中高年も障壁が低くて楽になったはずです.

 著者も中高年になったので良く分かりますが, ちょうど中学や高校の時の「数学」のように好きな人と嫌いな人が はっきり分かれる計算機は,好きな人からは大した事がないと思われても 嫌いな人からはやっぱり「むしず」が走るわけです. そのあたりを,計算機の操作環境をやさしくする事で解決をした ブラウザの役割は大きかったと思います. これで私も学内では学長にも事務局長にも使ってくださいと 言えるようになったと思っています.

 これからは情報検索をやさしくかつ高速にする検索エンジン (ハードウェアやソフトウェア)の研究や開発, まとめるという頭の活動と新しいアイデアを発想させる (導くという意味ではNavigateする)仕組みの追求がテーマになっていくでしょう.

 前者の検索エンジンはハードウェアの高速化や並列化,分散処理化, また効率の良いアルゴリズム(解法)の発見や改善で進んで行くでしょう. ただ後者の情報をまとめたり発想する事は, 計算機やネットワークがこれほどになってない時まで (人類が表れてからですが)も,徐々に進歩していました. インターネットが出来たからと言って急速に進歩するとは思いません.

 しかし,世界中で同じ事のまとめが行われているので, その中から優れたものが生き残り,また最初はしょうもない発想でも, 皆で温めていてばあっと驚く発想も出てくるでしょう. それをまた我々は共有すれば良いでしょう. 発想がビジネスになるという点はありますが,,,

 WWWサーバは,ユーザからのURLで指定されたアクセスに対して, 当該のホームページのファイルをユーザに送りつけるソフトウェアです. (来月に話すCGIやJavaはもう少し捻りがいれてあります) このWWWサーバは,Apacheと呼ばれるソフトウェアが現在は多く使われているようです. このApacheだけではありませんが, 有力なWWWサーバはユーザからのアクセスを制御する機能があります. 制御の仕方としては基本的には,

があります. 実際には,これらの2つの制約が組み合わせて使われる事になります.

パスワード認証の画面(33KB)

 このような個人認証は後述するCGI等を使って, ホームページを作成するユーザも出来るようですが, ここでは管理権限を持っているWWWサーバの管理者が出来る制御のやり方を話します. 個人認証はちょうとコンピュータにアクセスする時のように, ユーザ名と,それに対するパスワードで実現されてます. また,ネットワーク制御は,許可または拒否するIPアドレスやネットワークを リストアップする事で出来ます.

 具体的な例で話しましょう. 例えば,このインターネット概論では,受講生からレポート提出を受ける時点から, 「受講生の広場」といったホームページを作成しました. ここにレポートやオフラインミーティング(通称,オフミ)の様子を アップする事にしています. このホームページはレポートが公開ではないが,他の受講生が見ても いいだろうという事で,個人認証だけの仕組みをいれています. 受講生には,ユーザ名とパスワードを,受講生だけに流れる メーリングリストを通して伝えてあります.

 もう1つの例は,私の所属する学術情報総合センターで, コンピュータやネットワーク管理を行うために作っているホームページです. ここには,管理者以外はしらなくてもよい, または知られたらちょっとセキュリティ的にまずい事が ホームページで作成されています. このホームページでは,ネットワーク制御をかけていますので, そのようなホームページがありそうな事さえ,関係者以外にはわかりません. いちおう,軽い個人認証もかけています. 軽いと言うのはパスワードにあまり工夫を凝らしてない事を示します.

 このような,仲間内で情報が共有出来るホームページは 内容が1元化できるとか,ホームページ形式なので判りやすいという利点があります. イントラネットの中で,情報システムを作るのにも簡便で有力な方法と言えます.


4.3.4 新しい広報手段としてのWWWシステム

 WWWシステムの特質の最後の点は, WWWサーバが情報発信すると言うので, ちょうどテレビや新聞やまた広告をイメージされる事は多いと思いますが, 仕組みとしてはWWWシステムはちょっと違うます. 簡単に言うとテレビや新聞や広告は情報の流れが片方向であり, WWWシステムではユーザ(クライアント)が サーバにアクセスして始めて情報が手に入る点にあります. その意味ではWWWシステムは従来のマスメディアの 考え方を変えるものだとも言えます.

 特にサーバ側に立って考えるとこれは良く分かります. ある情報(テキストや画像や音声)をサーバに載せて これをユーザがアクセスしたとすると, その情報は少なくとも1人に取り込まれた(見た)事になります. これはいくつかの点で興味があります.

  1. どの情報がたくさんアクセスされたか分かる. どのような情報がユーザにとって興味があるかがわかる.
  2. どの情報が同じ計算機から何度もアクセスされたか分かる.
  3. どのような情報を変化(更新)させれば,ユーザが興味を持つかが分かる.

 今,3つの興味のある事項をあげましたが, 残念ながら現在の仕組みでは,1つの計算機からアクセスとしてしか記録されないので, 同じ人が何度も見たか,1台の計算機の複数のユーザがアクセスしたかは分かりません. それが(2)で「人」ではなく計算機と書いた理由です. これは良い点でもあり悪い点でもあります.

 良い点と言うのは,誰が(どの組織が)ある情報をアクセスしたというのは プライバシーに関係するので,細かなアクセス情報が記録に取れないのは プライバシー保護の意味では良い点だと思います. ただ現在の仕組みではどの組織が あるホームページにたくさんアクセスするといった情報が開示できます. もっとも,これも技術的にはユーザ側が逃げる手はあります.

 悪い点は最初に触れたように,サーバをビジネス等で運用する場合には, 個人情報まで手に入らないので, 積極的にアクセスしたユーザに働きかけ出来ない事でしょう. しかし,これも電子商取り引きの仕組みが整備されれば問題なくなるでしょう. ホームページを見るのに個人認証の話をしましたが, この認証の仕組みが組み込まれるからです.


4.3.5 WWWの仕組み

 WWWシステムでは,WWWブラウザとWWWサーバがあると 4.5.1や4.5.2では話しました. あるホームページを見に行く事を考えていましょう. WWWブラウザでする事を箇条書に書いておきます.

 適当なWWWブラウザを開くときっと何処かのホームページが開くでしょう. これはそのWWWブラウザに最初に見に行くホームページのURLが書いてあります. 大体は買ったブラウザの中に初期値が都合良く書かれている筈です. URL(Uniform Resource Locator)については4.5.6で話します.

 読み込まれたホームページは xxxx.htmlまたは Windows系のWWWサーバにあるホームページでは xxxx.htm のような名前になっています. このHTMLについては4.3.1項で簡単ですが説明しました. WWWブラウザは,このように .html とか .htm と記述しているファイルを 読み込むと,それはHTML形式のファイルだと認識して, タグの種類などを見ながら表示をしていきます. HTMLは言語ですし,標準的にも常に拡張されており, WWWブラウザのメーカ(Netscape Communications社やMicroSoft社等)も 独自の拡張をしています. したがって解釈出来ないものも出て来ています.

 HTMLはWWWシステムのホームページを記述する言語(プログラム)と 考えてもらえばいいのですが,基本的には文字の固まりですので, 文字だけでは記述出来ないもの(画像等)をファイル名として記述して, ホームページの中に取り込んだり, 別のアプリケーションを起動させて処理させたりします. このようなファイル名には拡張子(.htmlも拡張子です)をつけて そのファイルが何を表すかを示す事にしています. 以下は良く使われるものです.

ブラウザが扱うデータとその拡張子
拡張子説明処理するもの
.html, .htmHTML形式ブラウザ
.gif, .jpeg, .jpg静止画像ブラウザ
.docWORDの文書MS WORD
.xlsEXCELのデータMS EXCEL
.pptPowerPointのデータMS PowerPoint
.aviMSの動画ブラウザ*
.qt, .movQuick Time:動画ブラウザ*
.mpegMPEG:動画ブラウザ*
.raReal Audio:音声Real Audio
.wavWave形式の音声ブラウザ*
.aif, .aiffAiff形式の音声ブラウザ*
.au, .sndAU形式の音声ブラウザ*
.pdfPDFのデータブラウザ*
.xdmStreamWorksのデータStreamWorksクライアント

「ブラウザ*」と記述される所はWWWブラウザや設定でも異なります.

 上の表を見てもらえば分かるように,良く使われるアプリケーション (ワープロ,表計算,プレゼンテーション)や マルチメディア(静止画,動画,音声)がWWWブラウザでは表示され (一部は「聞こえ」)ます.

 適当なリンク先をクリックする事を考えて見ます. この適当なリンク先は実際にはHTMLファイルの中では,
    <A HREF="http://www.osaka-cu.ac.jp/">大阪市大のホームページ</A>
のように書いてあります.この意味は,

  1. httpのプロトコルを使って,
  2. www.osaka-cu.ac.jpというコンピュータのWWWサーバにアクセスしてデータを貰ってきて
  3. WWWブラウザで処理しなさい.
というものです.

 上のリンク先の表現は
  <A HREF="http://www.osaka-cu.ac.jp/index.html">大阪市大のホームページ</A>
でも同じです.この場合は,

  1. httpのプロトコルを使って,
  2. www.osaka-cu.ac.jpというコンピュータのWWWサーバにアクセスして
  3. index.htmlというデータを貰ってきて,
  4. WWWブラウザで処理しなさい.
と同じようになります. これは大阪市大のWWWサーバでは,単に//www.osaka-cu.ac.jp/でアクセスされても, index.html等の予め決められたファイルをWWWブラウザに送るように なっているからです.index.html以外にもindex.htmやwelcome.htmlも良く使われます.

 さて,ここでhttp(hyper text transfer protocol)と言う名前が出て来ました. これは電子メールではsmtp(simple mail transfer protocol)というプロトコルが 使われたようにWWWサーバを呼び出すプロトコルです. このようなアプリケーション・レベルのプロトコルには,共通なものとして TCP(UDPもある)がある事を3.3節で話しました.(難しくなった所ですね) TCP(Transmission Control Protocol)は信頼性をもった1つのセッションを 張るために必要な機能を実現したプロトコルです. このプロトコルの上位に各アプリケーションのプロトコルがあります. そのために各アプリケーションにはポート(port)番号がふり与えられる事は, 3.5.3項で話しました.

 ポート番号はコンピュータとコンピュータが インターネット(イントラネットでも構いませんが)を介して接続された場合に, どのアプリケーション間がお話をするのかを決める大事な番号です. その大事な番号でも良く使うものはwell known port numberと言って 取り決めがあります.  httpのポート番号は80なので,先程のアクセスが以下のように読み替えられます. Bはブラウザで,SはWWWサーバです.

  1. B:TCPのポート80番で
  2. B→S:www.osaka-cu.ac.jpというコンピュータのWWWサーバにアクセスします.
     実際には,Bが適当なName Serverにwww.osaka-cu.ac.jpのIPアドレスを尋ねて,そのIPアドレスと80のポート番号で問い合わせをします.
  3. S→B:www.osaka-cu.ac.jpというコンピュータはindex.htmlのファイルの中身を アクセスしてきたWWWブラウザに送ります.
     実際にはWWWサーバには複数のアクセスが同時に来ますので,WWWサーバのソフトのコピーを作って,それぞれのアクセスに対応させます.
  4. B:WWWブラウザは送られて来たデータをHTML形式だとみなして処理します.

 このアクセスの流れが図3-2で示したサーバとブラウザの データのやりとりになります.WWWブラウザからはファイル名を指定して (追加情報としてはディレクトリ/フォルダ名の指定)してデータを取り込み, 取りにいったファイル名の拡張子に応じてにあるように 適当な処理を行う事になります.

 WWWブラウザは得た(GET)データをどのように加工するかは ブラウザに任されています. ですからブラウザが違えば表示の仕方が違いますし, 最近のブラウザはいろいろな設定やオプションがあるので, 本当にまちまちの表示や処理をします. また様々なデータを扱う為にplug-inのソフトウェアがあり, これらを入れる事によってそれに対応した拡張子がついたファイルを 読み込んで処理をする事が出来るようになります.

 では,WWWサーバの方ではどのように動くのでしょうか. WWWサーバにも幾つかの系列のサーバがありますが, ここでは一般的と思われる話をします. WWWブラウザがWWWサーバをアクセスすると, WWWサーバでは通常httpdというプログラム(デーモン)が走っていて, このhttpdが相手のWWWブラウザと話をします. でも大抵は複数の所からアクセスに来ますから,httpdの親が1ついて, その親がそれぞれブラウザに対応するために httpdの子供(同じくhttpdです)を作成して対応させます. 設定によっても違いますが,数十以上を同時アクセス可能にさせています. 今は,日曜の夜ですが,www.media.osaka-cu.ac.jpでは10つの子供のhttpdが 動いている,または待機しています.

 良くアクセスされるWWWサーバ(検索エンジン等)では 同時に多くのWWWブラウザからアクセスされます. 最近の傾向としては強力なコンピュータをWWWサーバ用に用意するのではなくて それほど強力でなくとも(と言っても最近のPCは強力です)複数のほどほどの PC系のサーバでWWWサーバを運用しているようです. このあたりの話は, 1月に話す予定の「情報システムの構築」のところでするつもりです.


4.3.6 URL

 さきほど,「http://www.osaka-cu.ac.jp/」はURL(Uniform Resource Locator) であると説明しました. たとえば,
  ftp://ftp.nic.ad.jp/
とすると, JPNICと呼ばれる日本のJPを管理する社団法人のFTPサーバにアクセスできます. この表現で分かるようにWWWブラウザが扱えるのは httpだけではない事が分かります.また,
  FILE:xxxxxx.html
とすると自分のPCのHTMLファイルを表示できるようになります.

 WWWブラウザで扱えるプロトコルはブラウザによっても違いますが, 今,私が使っているNetscape Navigator 3.01(ja)では

等となっていますが,http以外ではftpをたまに使う程度だと思います.

 URLでは,
  http://xxx.xxx.xxx:8080
のように最後に「:」に続けて8080のような番号を書く時があります. これは,通常のポートが80のWWWサーバではなくて, ある目的で立ち上げられたWWWサーバ(のような)にアクセスする場合です. 歴史的には日本では漢字コードが複数あるために, この漢字コードを変換する事を目的として作られたWWWサーバに 8080や10080のようなポート番号をつけてアクセスしていたものです. 最近では多くのWWWブラウザが漢字コードを自動変換してくれるので, この手のサーバは次に述べるWWWのproxyサーバとして良く使われています.


4.3.7 proxy

 WWWブラウザでいろいろなホームページをアクセスに行きますが, この項ではいろいろなURLにアクセスすると言い直しておきます. 同一のある組織(またはグループ)の多くのユーザが, 同じURLをアクセスした場合で,そのURLの内容があまり変化しない場合には, そのURLにある同じ内容が複数のユーザのWWWブラウザに返るので, URLの場所がネットワーク上で遠くの場合には, 無駄なトラフィックが流れている事になります.

 このような無駄をなくすためにproxyサーバと呼ばれるサーバがあります. 「proxy」とは「にせの」という意味があり,ユーザから見た時には, あたかも本当のサーバのように見えるサーバの事です. インターネット技術では, 今までにもproxy arpのようにproxyの名前は使われて来ました. 厳密に言うとWWWサーバのproxyサーバと言うべきかもしれません.

 ユーザはWWWブラウザのproxyの設定で,proxyサーバを指定する事によって, 直接,URLで記述されたWWWサーバにアクセスするのではなくて, proxyサーバを経由する事で,効率良くホームページ等を見る事ができます. 大阪市大でも,このようなproxyサーバを運用しています. また,学内のユーザにもできるだけ,この サービス を受けて下さいと勧めています.   個人接続のプロバイダに接続されている方にも, そのプロバイダで運用するproxyサーバを 出来るだけ(絶対)利用して下さいと利用の手引に書いてあるはずです.

 proxyサーバの仕組みは,そのサーバでの設定によっても違いますが, 基本的には,

  1. ユーザからのURLの問い合わせを受けると
  2. そのURLがサーバ内にあるか調べて
  3. あれば,その内容をユーザに返し,
  4. なければ,直接,そのURLに取りに行って,その内容をユーザに返す.

となります.インターネット・カフェ(インターネット居酒屋もあるそうですね) 等では,ハードディスクの容量の大きなproxyサーバを用意して, 普通の客が良く見そうなURLをあらかじめ貯めておき, 出来るだけ早く見せる努力をしています. 普通でない客(私のような^_^)はわざとあまり見に行かないホームページを調べるようで (例えば自分のホームページ),その場合はそれなりの時間が掛かります. 仕組みという意味では,通信カラオケと同じです.

 最近のNetscape Navigator等のWWWブラウザでは,このproxyサーバの設定でも, 単にサーバを指定するのではなく,「自動でプロクシを設定」の項にあるように, その組織のネットワーク構成にあった適当なファイルを読み込むようになっています. これは,その組織のproxyサーバが1台でなかったり, またURLによって複数のproxyサーバの中から適切なものを 選択できるようになったりしています.

 proxyサーバを使ってホームページをアクセスした場合には, WWWサーバへのアクセス記録には,proxyサーバのIPアドレスや名前しか残りません. これはWWWサーバとしては,細かなデータが取れないのでちょっと困った事です. 特に,相手のコンピュータを指定してアクセスを許可する場合には問題になります. 例えば,電子ジャーナルを契約で購入するとして,IPアドレスを登録し, 電子ジャーナルをホームページ形式で読む場合には問題がでます. (その組織がproxy経由でしか,ホームページをアクセスさせない場合) ただ,セキュリティ的にIPアドレスが認証に強いかの問題はあります.


(注)proxyは早いか

proxyを使うと本当に速いかというと,その組織のインターネット側へのスピードと, proxyサーバの処理能力で異なるようです. 大阪市大では,今年度から学術ネットワークへの1.5Mbpsのインターネット回線以外に, 商用プロバイダに6Mbpsで接続されているので, 案外,proxyサーバ経由でない方が速い場合があります. (proxyサーバは最新のワークステーションを2台用意して対応していますが). ただ,インターネット全体のトラフィックとしては無駄である事は 理解してもらえるでしょう.


目次に戻る