WWWの基礎知識

[Webプログラミングもくじ]

WWWとは?

TCP/IP というネットワークの通信規約(プロトコル)に従って通信しあうコンピュー タやネットワーク機器で構成された、世界規模のコンピュータネットワークであ るインターネット上で使われている、通信サービスのうちのひとつである。 World Wide Web (世界規模の蜘蛛の巣)の略であり、Web と略される場合もある。

サーバコンピュータ上に置かれたコンテンツに対する、ブラウザからの閲覧 要求に対して、サーバソフトウェアが接続を許可することによって、サーバコン ピュータからブラウザを起動しているコンピュータへの情報伝達が行われる。

WWWにまつわる基本的な用語

Webサーバ

サーバコンピュータで動作するソフトウェア。代表的なものは、

Webブラウザ

サーバから伝達された情報を閲覧するソフトウェア

いずれも、使用料は無料である。

Webページ、ホームページ、トップページ、Webサイト

Webページとは、Webブラウザが画面に表示することのできる情報、主に、HTML という文法に従って作成された文書を指す。ブラウザが表示できるHTML文書の ことを「ホームページ」と呼ぶことがあるが、これは間違い。ホームページと は、ある一連のWebページの入口となる役割をもつページ(トップページ)、あ るいはブラウザが起動したときに最初に表示するWebページのことを意味する。 あるサーバ上に構築された、Webコンテンツの集合を Webサイトという。

WEBブラウジングすることを、俗に、

「インターネットする」
などというが、あまり正しい表現ではない。電子メールも、インターネットにお ける通信サービスの一種である。

Webコンテンツ

Webサーバを通じて配信される情報、ブラウザにて閲覧(表示、再生)できる情 報を指す。コンピュータプログラム、文字、画像、音声、動画など、一般にコ ンピュータが扱うことのできるデータはほとんど全て、Webサーバによってブ ラウザに伝送することができるしくみが整っている。

HTML、タグ

Hyper Text Markup Language の略。主に文字情報のWebコンテンツを作成するた めに用いられる記述言語であるが、文字情報以外の情報源もある程度制御できる。 リンク(ハイパーリンク)という、他のWebコンテンツのある場所を示す仕組みが 特徴であり、Webページの閲覧者は、このリンクをたどることによって、より多 くのWeb情報を引き出すことができる。HTMLは、タグによって、文書の論理的 構造を記述する。タグとは、< と > とこれらに囲まれている文字列を 指す。

WWWをめぐる現状

Webコンテンツ作成とブラウズの変遷

WWWが成立した1990年代初頭には、ブラウザで表示されるのは文字情報だけであ り、Webコンテンツ作成者と利用者の数も、現在に比べては非常に少なかった。 HTML文書は汎用のエディタ上でタグをタイプして、あるいは、専門家たちは簡単 なツールを使って既存の文字情報にタグを付け加え、HTML文書に変換することに よって、作成されてきた。

1993年にMosaicという画像の表示できるブラウザが開発されてからは、画像を使っ た、(当時としては)より見栄えのよいWebページ作成が、もの珍しさもあって、 歓迎されるようになった。

1994年には Mosaic の機能を大幅に拡張した、Netscape Navigator が、1995年 には Internet Exproler が登場し、ブラウザが一般のパソコンにもインストー ルされるようになった。このことは、ブラウズする利用者と共に、Webコンテン ツの作成者も、専門家を越えて、急速に一般のコンピュータユーザに広がってい たことも意味している。そして、扱うことのできる情報源も、文字情報以外に拡 張されていった。

エディタで地道にタグを入力するには、タグの知識やタイピングの能力が求め られるため、ただ単にHTML文書を作りたいだけの初心者にはハードルが高い。 このため、この頃から、WYSIWYG(What You See Is What You Get : ウィズィ ウィグ) を採り入れたHTML作成ソフトウェアが開発されるようになった。ワー ドプロセッサのような文書作成画面で見えているものを保存すると、それに適 当なタグが付けられてHTML文書を作成することのできるソフトウェア、 WYSIWYG HTMLエディタ(例えば、IBMホームページビルダー、Netscape Communicatorなど)の登場である。

サーバとブラウザとの関係、単方向から双方向へ

WWWが開発された当初、ブラウザは、サーバ側があらかじめ用意したWebコンテ ンツ(静的なWebコンテンツ)のみしか受けとることができず、用意されたハイ パーリンクをユーザが自主的にたどるとはいえ、受動的に情報を受け取るだけ の場面が多かった。

その一方でWWWは、サーバからブラウザへの一方向だけではなく、逆にブラウ ザからサーバに情報を送り付ける仕組みも備えている(例えば、フォーム)。この送り付けられた情報を元に、サーバコ ンピュータ側で加工処理した情報を、またブラウザに返す、この双方向性は、 WWWにより一層の可能性を与えた。

双方向の例

動的Webコンテンツ生成

WWWの双方向性は、以下のようなサービス形態を産んだ。これらは、ネットワー クの高速化と利用料金の低価格化に支えられたインターネットユーザの増加と 共に、今後より普及していくものと思われる。

このようなシステムの構築には、それが大規模になるにつれ、その複雑度が増 していくことは必須である。

例えば、逐一新しい情報を発信している報道関係のサイトを考えてみよう。 ニュースや記事がメールやFaxで入ってくる都度、トップページのメニュー構 成や内容を更新する必要がある。このようなWebコンテンツの修正や追加は頻 繁かつ各所におよび、これをその都度を手作業で行っていたのでは、効率が悪 く、更新速度も遅い。また、掲載する情報が同じであってもそれが膨大であれ ば、Webページの見た目を変更するにも、大変な手間がかかる。

このようなWebコンテンツの修正や追加を、データだけ用意して、自動的に行 うことができれば、システムの運用コストや速報性は格段に向上する。つまり、 データベースなどを元に、そのデータの更新やブラウザからの要求に合わせて、 必要なデータのみを選択して加工し、Webコンテンツを自動生成する仕組みで ある。これを動的なWebコンテンツ生成とよぶ。言い替えれば、サーバ側のデー タと、ブラウザ側のデータ(ユーザの要求) の両方(あるいは片方)を元に、適 切なWebコンテンツを生成することが、今後のより複雑化するWebサイト構築に は不可欠な技術である。

動的Webコンテンツ生成には、大きく分けて2つの手法がある。

ブラウザ側でデータ処理を行う

サーバに保存されている静的なWebコンテンツに含まれるスクリプト言語 (JavaScriptなど)を、ブラウザが解釈して、ブラウザ 自身が新たにWebコンテンツを生成する。ユーザがブラウザに対して入力する データ以外のデータ、つまりサーバ側やブラウザ側にあるデータは利用が制限 されているため、可能なデータ処理範囲は限定される。このようなデータ利用 の制限は、ブラウザ側がサーバ側のデータを不正使用することや、その逆を防 止するためである。

サーバ側でデータ処理を行う

サーバにあるプログラムが、サーバ側のデータと、ブラウザから送られて くるデータを処理する。CGI(Common Gateway Interface)や、特定のスクリプト言語を元に Webに特化して機能を装備した ASP(Active Server Pages)や、PHP(PHP Hypertext Preprocessor)という仕組 みがその代表である。

CGIには、汎用的なプログラム言語(Perl, C言語など)が用いられることが多く、 Webサーバソフトウェアにほぼ依存しない、自由度の高いプログラミングが可 能である。ASPにはWebコンテンツデータ処理に適した言語(VBScript, JScript)が用いられることが多く、Microsoft社製WeBサーバソフト (IIS:Internet Information Services)に依存して動作する。ASPやPHPはデー タベースソフトとの容易な連携を実現しており、プログラミングの手間や管理 はCGIに比較して少ない。

Webデザインの重要性

Webコンテンツ作成は、エディタにタグをタイプしていく時代から、WYSIWYG エディタを経て、いまではプログラミング言語をあやつることによって、自動 的に生成する時代となった。動的Webコンテンツ生成は、今後Webビジネスの拡 大と共に、さらに必要とされていくであろう。

しかし、いくらWebコンテンツが自動的に生成されるからといって、現実 にブラウザにどのような形で情報が提示されるのか、つまりWebページのデザ インについては、人間がそれを決定しなければいけない。極端な話、有用で膨 大な情報源と動的Webコンテンツ生成を駆使して、あらゆるユーザのニーズに 応えられるようなWebサイトを構築したとしても、ユーザにとって必要な情報 の入手方法が分かりにくいようなサイトを、好んでブラウズする人は少なくな るであろう。これに電子商店のようなビジネスが絡んでいると、まさに企業の 死活問題である。

つまり、Webコンテンツの作成手段によらず、

  1. ユーザ(ブラウズする人)が、どのような情報を欲しがっているのか
  2. 簡潔に、分かりやすく
  3. Webコンテンツを作成および管理する側の負担(コスト)をなるだけ軽くす る
ということを念頭において、 を適切に実現することが重要である。これが Webデザインの本質である。これ らのポイントは、Webコンテンツに限らず、一般的なプレゼンテーションに必 要とされる事柄と共通部分が多い。そしてこれらは一方的な情報伝達だけにと どまらず、相互のコミュニケーションを円滑にすることを目的としている。

この演習においては、現在主流になりつつあるサーバ側での動的Webコン テンツ生成については、コンピュータプログラミングの能力が要求され、上記 (3) のコンテンツ作成のコストを軽くするという条件に反してしまうため、実 施しない。

よって、HTMLの基礎を改めて理解した上で、そ の見栄えをコントロールするCSSや、ブラウザ側での 動的Webコンテンツ生成手段である JavaScript の簡単な例を紹介し、適切な Webデザインとその実現に必要な技術の習得を目指すことにする。