Webアプリ開発事始 第4回

TCP/IPネットワークとWebアプリケーションの基礎(4)
~実行環境と開発環境
長谷川裕行
有限会社 手國堂

HTMLの前と後

今や「インターネットと言えばWeb」といわれるほど、Webはインターネットの標準的なサービスとなりました。しかし、いきなりWebやHTMLが生まれた訳ではありません。Webが登場する以前のサービスと、HTMLを受け継ぐ記述言語XMLについて、簡単に触れておきます。


- クライアントとサーバーのやり取り -

TCP/IPネットワークには、Webの他にもFTPやメールなど様々なサービスが存在していますが、どれも基本的には、クライアントとサーバーの間で信号をやり取りする――という形で処理が進められることに、変わりはありません。

メールの場合なら、送信時にはメールクライアント(メーラー)とSMTPサーバー、受信時にはメールクライアントとPOPサーバーがデータをやり取りします。FTPでは、FTPクライアントがFTPサーバーにデータを送り※1、別のFTPクライアントがFTPサーバーに保存されたデータを読み取ります。

Webを介して実行されるアプリケーション――Webアプリケーションの場合も、クライアントからWebサーバーへデータを送り、サーバーがクライアントに対してデータを送る…という相互のやり取り自体は、まったく変わりません。

※1 最近ではデータの送信をアップロード、受信をダウンロードと呼ぶことが多くなりましたが、本来FTPサービスでは、送信をput(プット)、受信をget(ゲット)と呼びます


- Webとハイパーリンク -

前回も説明しましたが、Webサーバーとクライアントとの基本的なやり取りは、以下のような単純な形です。
1. クライアントがサーバーに対してURLを示し、そのURLの指し示すHTMLファイルの読み出し要求を送る
2. サーバーは要求されたURLの示すHTMLファイルの内容を、クライアントに送る
このとき、サーバーから送信されたHTMLデータに画像や音声などを記録したファイルの場所とファイル名を示すURLが示されていれば、サーバーはそのデータもクライアントに送る
3. クライアントのブラウザはそれらを受け取り、HTMLデータの示すレイアウトに従って、ディスプレイに文字や画像を表示したり、サウンド機能を使って音声データを再生したりする
上記"2."の動作によって、画面上の項目に設定したURLをクリックすると、"1."の働きによってそこに示されたURLの受信要求がサーバーに送られ、ページが切り替わるというハイパーリンクの構造が出来上がります。


- GopherとSGMLからHTMLへ -

ある文書から別の文書へと、マウスをクリックするだけで渡り歩いていけるハイパーリンクの構造こそが、デジタル文書の最大の強みだと言われます。その原点は、Gopher(ゴファー)と呼ばれる文書データベースと、SGMLというページ記述言語にあります。

Gopher
いわゆる文書データベースで、ツリー構造の文書メニューをたどりながら、世界中に分散したデータを表示したり、FTPを使ってコピーしたりできる機能です。文字だけではなく画像ファイルも扱えたため、Webサービスが登場するまでは盛んに利用されていました。
メニュー構造をたどりながら、文書から文書へ、サーバーからサーバーへと渡り歩ける仕組みが、Webに引き継がれています。
SGML
“Standard Generalized Markup Language”の略で、デジタル文書の交換を目的として制定された汎用記述言語です。タグによって文書の論理構造を定義でき、ハイパーリンクで他の文書へ移動できるなど、複雑で大規模な文書の共有に役立ちます。
HTMLはSGMLを簡易化したいわゆるサブセットで、画像の埋め込み機能などが追加されましたが、文書構造を自在に定義できる機能が省略されました。
SGMLの持つ文書構造の定義機能をWebで利用できるようにしたものが、後述するXMLです。
HTML
“HyperText Markup Language”の略で、SGMLをベースにWebページを記述するための言語として制定されました。タグを使って文書を記述するスタイルは同じですが、テキスト中心のSGMLに対して、HTMLでは画像や音声などのマルチメディア・データを埋め込める点で、表現力が増しています。
SGMLとは異なり、HTMLでは文書の構造ではなく外観――要するに見た目を整える機能が中心となっています。
XML
“eXtensible Markup Language”の略で、ユーザーがタグを定義できる点がHTMLとは異なっています。これによって、複雑な部署の構造や、データベースの内容を容易に記述できるようになっています。
XMLはHTMLから派生したものではなく、HTMLと共にSGMLから派生した記述言語です。XMLは、HTMLが犠牲にしたSGMLの構造を定義できる機能を、Webに持ち込んだものと言えるでしょう。
XMLはWebアプリケーションでデータベースを扱うために、重要な役割を担います。これについて詳しくは、回を追って紹介することにします。



- 目次 -
HTMLの前と後
クライアントとサーバーのやり取り
Webとハイパーリンク
GopherとSGMLからHTMLへ
HTMLとタグ
サーバーで動くかクライアントで動くか
サーバーサイド・アプリケーション
クライアントサイド・アプリケーション
業務処理はサーバーサイドで
データベースとサーバーサイド・アプリケーション
あとがき

Copyright © MESCIUS inc. All rights reserved.