CGIってなに?

CGIという言葉を聞いたことあるでしょうか。「Common Gateway Interface」の略となっていまして、「シー・ジー・アイ」と読みます。これは、「WEBサーバがクライアントからの要求に応じてプログラムを起動するための仕組み」ということになっています。

むかしむかしインターネットが始まった頃、WEBサーバは保存してあるHTMLファイルをクライアントに向けて送信するだけでした。つまり、HTMLファイルに記述してある内容以外はWEBページとして表示できなかったので、「掲示板」「カウンター」「チャット」「アンケート」などをWEBページ上で実現することはできませんでした。

しかしCGIという仕組みが考え出されたことによって、動的に WEBページを作成しクライアントに結果を送ることができるようになりました(下図参照)。

img1

つまり、下記の流れを実現する仕組みのことをCGIと呼びます。

ブラウザ  → リクエスト → 
 ← レスポンス ← 
WEBサーバ  → 起動 → 
 ← 実行結果 ← 
プログラム

決して掲示板やカウンターなどの元になっているプログラムのこと(またはファイルのこと)を「CGI」と呼ぶのではない、ということに注意してください。あくまで「CGI」は掲示板やカウンターを実現するための「仕組み」なのです。

動的に
プログラムの実行により結果が決定すること。 逆に「静的に」とは結果が常に固定であることをここでは指します。 HTMLファイルのレスポンスは「静的」ということになりますね。