CGI / SSI
■ CGI。Common Gateway Interface。 Webサーバーが補助プログラムを起動する際の 環境変数の名前や値を定めた統一的なインターフェース仕様。 またはこの仕様に基づいて作成されたプログラムのこと。 掲示板、アクセスカウンタ、アンケートフォーム等に利用される。 Webサーバは、Webブラウザからのリクエストを受けると、 送られてきたデータを基にCGIプログラムを呼び出して実行し、 Webブラウザにその結果を返す。 +----------+ +----------+ +----------+ | | | | | | | Web |→要求→| WWW |→起動→| CGI | | ブラウザ |←結果←| サーバ |←結果←|プログラム| | | | | | | +----------+ +----------+ +----------+ CGIは、コンパイル不要なスクリプト言語で記述される。 ほとんどの場合はPerlが使われるが、 PHP、Ruby、Pythonなどの言語でも問題ない。 ■ SSI。Server Side Include。 あらかじめHTML文書中に実行命令を挿入しておき、 サーバ側で処理をさせる仕組み。 たとえばHTMLソース中に以下のようなコメントを入れておく。 <!--#config timefmt="〜" --> サーバー側で処理が終わると、 サーバはコメントの場所を処理結果で置き換えて、 クライアントのWebブラウザ上に表示してくれる。 上記の例だと、現在時刻を表示することができる。 SSIを用いたWebページのHTMLファイルには 慣用的に.shtmlという拡張子が用いられる。 SSIはサーバ側に負担をかけるため、 システムのパフォーマンスが低下する恐れがある。 また.html や .htm のファイル(掲示板等)で 悪意あるSSI命令を書き込まれる恐れがある。 このためSSIの実行は、実際には shtmlファイルとindex.htmlだけに限定している場合がほとんどである。 以上。 2004/03/04 pm