1.0. CGI プログラムの機能:
まず、Common Gateway Interface (CGI) とは何ですか? CGI は、WEB サーバーと外部プログラムの間の通信方法を定義するために使用される標準であり、外部プログラムが HTML、画像、その他のコンテンツを生成できるようにし、サーバーは外部プログラムによって生成されない HTML、画像、またはその他のコンテンツを処理します。同じです。 したがって、CGI プログラムを使用すると、静的コンテンツだけでなく動的コンテンツも生成できます。 CGI を使用する理由は、CGI が明確に定義され、広くサポートされている標準であるためです。 Java、ActiveX などは CGI プログラムの機能を実現できますが、すべてのブラウザがこれらをサポートしているわけではありません。 逆に、すべてのブラウザは、Lynx、IE、Netscape などの CGI をサポートしています。
ただし、他のテクノロジーと同様、CGI にも限界があります。 このセクションでは、CGI プログラムの機能、メリット、デメリットについて説明します。
1.1. CGI機能
CGI が最良かつ唯一の選択肢であるタスクは数多くあります。これらのタスクは、初級タスク、中級タスク、上級タスクの 3 つのカテゴリに分類できます。 基本タスクとは、次のようなプログラミングをほとんど必要としないタスクです。
テキストカウンター
簡単なHTMLを生成するプログラム
Perl、シェルスクリプト、C、またはC++で書かれた50行未満のプログラム
CGI を使用してこのようなタスクを記述することには、少なくとも 3 つの利点があります。1 つは、CGI が最も高速に実行されますが、2 つ目は、CGI 標準が現在のブラウザと最も互換性があることです。3 つ目は、CGI リソースです。は豊富にあり、インターネット上で何千もの CGI コードを見つけることができます。
中間タスクには、イメージ マッピングやその他の少し複雑なプログラミング タスクが含まれます。 中級レベルでは、CGI と Java のプログラムの書き方にほとんど違いはありません。
このようなタスクには次のものが含まれます。
イメージマッピング
フルページ HTML を生成する CGI スクリプト
アニメーション
特徴として、高度なタスクの場合、CGI は Java でプログラミングするよりもはるかに簡単です。 このようなタスクには次のものが含まれます。
バックエンドデータベースの操作
検索エンジン
複数の動的ページ
中でもバックエンドのデータベース操作(データベースにアクセスするアプリケーション)はCGIの優位性を反映しています。 CGI には一定の歴史があり、CGI ライブラリで多くの便利な機能が他社によって実現されてきたと同時に、多くの大企業が CGI で作成されたソース コードを提供してきました。 Java はプログラミング言語であり、CGI はゲートウェイ プログラムの機能仕様です。 Java に大きな変更がある場合はプログラム全体を書き直す必要がありますが、CGI に大きな変更がある場合は CGI ライブラリ プログラムをアップグレードするだけで済みます。
ただし、CGI にはいくつかの領域で制限があります。
1.2. CGI の制限
画像マッピングとアニメーションという点では、CGI プログラムは Java プログラムほど開発が簡単ではありません。 現在、Java の人気が高まっているため、CGI プログラムは、短く複雑なプログラムやデータベース アプリケーションを作成するのにますます適しています。
1.3. CGIプログラムの機能
CGI プログラムの最大の特徴は、CGI の仕様に準拠していれば、任意の言語でコンパイルし、任意のプラットフォームで実行できることです。 次の表は比較です。
タスクCGI+HTML HTML
フォームを処理しますはい いいえ
WEB ページ上に非静的コンテンツを作成するはい いいえ
イメージ画像ファイルの処理 ○ ○
WEB ページやドキュメント内の Yes No を検索する
フォームの作成はいはい
プラットフォームに依存しないドキュメントの作成 ○ ○
チャット ルームなどの対話型アプリケーションを作成する はい いいえ
ページの動的生成 はい いいえ
ユーザーのニーズに応じてページ文書をカットする はい いいえ
次に、一連の「Hello World」プログラムでこの講義を終了します。
パール:
「cgi-lib.pl」が必要です。
PRint&PrintHeader;
「」を印刷します。
「Hello World」を印刷します。
印刷&PrintEnv;
出口;
このファイルは C:HTTPDCGI-BIN ディレクトリに保存され、2_1.pl という名前が付けられます。 アドレス http://localhost/cgi-bin/2_1.pl を使用してブラウザで呼び出します。 この時点では OmniHTTPD が実行されている必要があることに注意してください。 すべてがうまくいけば、ブラウザに「Hello World」と環境変数が表示されます。
C: #include
#include "html-lib.h"
#include "cgi-lib.h"
int main()
{
html_header();
html_begin("CGI のテスト");
h1("CGI プログラム");
printf(" ");
h2("CGI 環境変数");
print_cgi_env();
html_end();
0 を返します。
コンパイル後、実行可能ファイルを C:HTTPDCGI-BIN にコピーし、名前を 2_1.cgi に変更し、アドレス http://localhost/cgi-bin/2_1.cgi で呼び出します。