Webブラウザでの処理。
Webブラウザは、HTMLファイルを受信した際に下記のように処理をしていきます。
- タグで指定された部分の情報をそれぞれ一つの塊として、HTMLに対応したデータベースを作成(パーシング)。
- 作成したデータベースにしたがって、Webブラウザの画面に表示(これをレンダリングと呼びます)。
タグで囲まれた部分には文字情報や画像情報があります。
画像情報などは、これ自体が納められているサーバーやフォルダのURLを指定することができるようになっています。
画像情報の場合、比較的ファイルのサイズが大きい場合や、他のサーバーにある情報を共通に使用したほうがよい、などといったことからこれを収容しているサーバーやフォルダを分けて管理したほうが扱いやすいためです。
また、ファイルサイズが大きいことから画像情報を表示するまでに時間がかかるケースがあります。
そこで、比較的早く表示できる文字情報だけを先に表示して、画像はゆっくりと表示する、といったこともできます。
URLを指定できることで、アフィリエイト広告などを埋め込むこともできます。
HTMLファイルの中には、プログラムを埋め込むことも可能です。
主にJavaScriptやJavaアプレット、Flashといったプログラム言語で記述される場合が多いのですが、これもブラウザ側で認識できるよう、タグで挟まれた形でプログラムを記述しています。
このプログラムを受け取ると、ブラウザはその内容にしたがって必要な動作を行なうようになっています。
Webサーバー側での処理。
WebサーバーはWebブラウザからの要求に応じてHTMLファイルを送信しています。
HTMLファイルが既にファイルとして保持されているものであれば、それを送り出せばよいのですが、ブラウザ側からの要求に応じて処理を行なう場合もあります。
例えば、ログインしたユーザー毎の購入履歴に合わせた表示や、購入の要求に応じてさまざまな入力処理を行なう必要もあります。
ログインする段階でユーザーが入力したIDとパスワードが正当かの確認処理も必要です。
このような処理を行なうために、通常Webサーバー側ではCGIと呼ばれる、アプリケーションプログラムを呼び出すためのインターフェースを用意しています。
Perl、Ruby、PHPといったプログラミング言語を用いてアプリケーションが記述され、Webサーバーで受け取った入力データに基づき、処理、結果を再びHTMLファイルの形にして、Webブラウザ側に送信します。
Webブラウザ側での何らかの処理を行なうためのプログラムもHTMLファイルの中に入れて送られます。
さらにWebサーバーでの処理には、データベースと連動して動く必要のあるアプリケーションも多数あります。
例えば、データベースにはユーザーの情報や商品の情報、購買履歴などが収められていたり、必要な処理に応じてWebサーバーからの参照や、書き込みが行なわれたりします。
このようなデータベースとのやり取りもWebアプリケーションサーバーの役割の一つです。