第三章 CGIスクリプト

3-1. CGIスクリプトとは

「CGI」とは WWW サーバーがプログラムを起動する際の起動方法(環境変数の名前や値)を定めた仕様の名称です。この仕様に基づいて作成されたプログラムを「CGIプログラム」と呼びます。

3-2. CGIプログラム

「CGIプログラム」のうち、Perl、awk、sh などコンパイル作業が不要なスクリプト言語で記述されたものを「CGIスクリプト」と呼びます。CGI プログラムは Perl で記述されたものが多いですが、環境変数と標準入力を参照できて、結果を標準出力に書き出せるものであれば、C言語、C++言語、VisualBasic でも何でも構いません。 環境変数とはOSが提供するデータ共有機能の一つ。OS上で動作するタスク(プロセス)がデータを共有するための仕組みである。 特に環境変数はタスクに対して外部からデータを与え、タスクの挙動・設定を変更する際に用いる。

3-3. PerlとPHP

また、インタラクティブ処理(対話型処理)をさせるプログラムにはCGIプログラムの他にPHPもあります。

CGIはWEBサーバーの外部プログラムなので、クライアントからリクエストがあるたびに新たにプログラムを起動します。そのためCGIを実行するたびにCPUやメモリにに負荷がかかってしまいサーバーに負担がかかってしまいます。 PHPではリクエストのたびにプログラムを起動することがなく、サーバーに負担がかかりにくく CGIと比べて処理速度が速くなります。

PHP: Hypertext Preprocessorとは、動的にHTMLデータを生成することによって、動的なウェブページを実現することを主な目的としたプログラミング言語、およびその言語処理系である。一般的には PHP と省略して用いられており、これは「個人的なホームページ」を意味する英語の "Personal Home Page" に由来する。
PHPはサーバーサイド・スクリプト言語として利用されており、Webサーバ上で動作し、Webサーバ上でPHPスクリプトの文書が要求されるたびに、そのPHPスクリプトが実行され、結果をウェブブラウザに対して送信する。平易な文法のため初心者でも習得しやすく、また大規模な開発にも多く用いられている。多くのフレームワークやライブラリが存在し、開発の手助けとなっている。
数多くのオープンソースウェブアプリケーションに利用されている一方、しばしば脆弱性の報告がなされ、過去に深刻なセキュリティホールが何度か報告されている。

従来、CGIスクリプトとしてはPerlが最も多く使われていましたが、最近では PHPも盛んに使われるようになりました。CGIはCGIプログラムを起動する為のインターフェイスであるのに対して、PHPはプログラムそのものでBrowserの元でもサーバーの中でも実行されるので、処理速度が速いと言われています。

サイトのトップへ CGI入門の目次へ 第一章へ戻る 第二章へ戻る 第四章へ進む 第五章へ進む