CGIとは Common Gateway Interface の略であり、webサーバがwebブラウザからの要求に応じて、プログラムを起動させるための仕組みである。
普通のwebページは画面に文書を表示するだけであるが、CGIを使うことで、プログラムの処理結果に基づいてwebページの文書を変化させることが可能になる。
・掲示板 → 例
・アクセスカウンター → 例
・ショッピングカート
・アクセス解析
CGIを使うことでwebページの表現力が飛躍的に向上する。HTMLページだけのサイトは、ユーザに情報を提供することは出来たが、ユーザから情報を受け取ることは出来なかった。しかしCGIを使うことで、
・ユーザから情報を受け取ることが出来る
・ユーザが要求する情報が提供出来る
・ユーザの集まる「場」を提供することが出来る
などといった、様々なメリットが生まれてくる。
HTMLファイルが要求された場合とCGIファイルが要求された場合では、wwwサーバの行なう処理は変わってくる。
■HTMLの場合
ブラウザからHTMLファイルを要求されると、wwwサーバは要求されたHTNLファイルをブラウザに送信する。
■CGIの場合
ブラウザからCGIファイルを要求されると、そのプログラムがサーバ側アプリケーションで実行され、結果がwwwサーバに返させる。返された結果はwwwサーバがブラウザへ送る。