Webアプリケーションに関して

「パソコン一般のQ31」に関連して、にしゅまっは様からのご質問です

Webアプリケーションには、サーバ側で実行される技術と、クライアント側(ブラウザ)で実行される技術があります。

Webアプリケーション
技術の名前 概要 用途など



CGI
(Common
Gateway
Interface)
Webサーバがブラウザから要求があったときに、
CGIサーバのプログラムを呼び出して実行し、
処理結果をブラウザに出力します。
掲示板、
カウンタ
チャットなど
SSI
(Server Side Include)
CGIと同じようなプログラムをHTML文書の中に埋め込んで、
サーバのプログラムを呼び出し、
実行結果を埋め込んだ場所に返します。
拡張子は「.shtml」になります。
プロバイダによってはセキュリティ上の問題で使えません。
ファイル更新日時取得、
カウンタなど
PHP
(PHP is
Hypertext
Pre-processer)
動的なWebページを生成するサーバ側技術で
動的Webページを作るためのオープンソースで
フリーのスクリプト言語でもあります。
様々なデータベースとの連携に優れ、OSに依存しません。
ブラウザの
要求によって
データを抽出する
データベースなど
ASP
(Active Server Pages)
マイクロソフト社のWebサーバソフト(IIS)で用いられ
通常、ブラウザで処理するスクリプトをサーバ側で処理してから
処理結果のみをブラウザに出力します。
CGIと違いアクセスのたびにプロセスが起動しないので
多くのアクセスがあっても処理速度があまり落ちません。
ブラウザの
要求によって
データを抽出する
データベースなど
JSP
(Java Server Pages)
サン・マイクロシステム社が開発した技術で
ASPに似ているが、IIS以外のサーバでも用いられる。
HTML文書に埋め込まれたJavaコードをサーバ側で処理し、
処理結果のみをブラウザに返して表示します。
ブラウザの
要求によって
データを抽出する
データベースなど
Javaサーブレット Webサーバ上で動くJavaプログラムで、
CGIなどと違って呼び出されるたびにプロセスが起動せず、
サーバ上のメモリに常駐するので処理が高速です。
クライアントの
要求に応じた
動的なHTML文書






ActiveXコントロール
(プラグイン)
マイクロソフト社のブラウザ技術で
他のブラウザのプラグインに相当します。
Webブラウザの機能を拡張するプログラムで、
サーバからダウンロードして実行されます。
Javaアプレットと違って、悪用されるとハードディスクの内容を
書き換えられたりするので、セキュリティ上の問題があります。
flash動画、
PDFリーダー、
QuickTime動画など
アクティブスクリプト HTML文書の中に埋め込まれる簡易プログラム言語で
機能が豊富にあり、悪用されるとブラウザが落ちます。
代表的なものとしてJavaScriptVBScriptなどがあります。
ポップアップ広告、
Webページの視覚効果
プラグインの呼び出しなど様々
Javaアプレット サーバからダウンロードしてブラウザのJava仮想マシンで
実行されるJavaプログラム。
コンピュータに被害を与えることがないように設計されていて、
ActiveXコントロールに比べて安全です。
ブラウザ上で
実行するゲームなど

ちなみに当サイトでは、これらの技術が以下のように使われています。

CGI
クイズ、投票形式アンケート、チャット、掲示板、
デジタル時刻表示、カウンタ、アクセス解析、フォームメール

ActiveXコントロール(プラグイン)
BGM再生(midi)、アナログ時計(flash)

JavaScript
BGM再生用プラグイン呼び出し、アクセス解析


CGIの仕組み

CGIサーバのアクセス経路図

CGIでは上記のようにユーザの要求したWebページ(html文書)のあるWebサーバから、
CGIの実行が指示されると、CGIサーバが処理してその結果をWebサーバに返します。
ユーザは処理結果をWebページとして見ることができます。
WebサーバがCGIサーバを兼ねることもあります。
実行されるのは、通常、Perlなどで書かれたCGIスクリプトですが、
CC++VBなどのプログラムファイルを使うこともできます。



質問コーナーの目次に戻ります