CGI (読み:シージーアイ)
- 英語名
- Common Gateway Interface
CGIとは、WebサーバがWebブラウザからの要求に応じて、プログラムを起動するための仕組みである。
従来、Webサーバは蓄積してあるデータをクライアント側に送るだけだったが、CGIを使うことによって、プログラムの処理結果に基づいて動的にデータを生成し、送出することが できるようになった。CGIで作成されたページは、管理者はもちろん、サイト閲覧者が更新したり、サイト閲覧者のリクエストに応えて毎回違ったページを表示させたりすることが可能である。
例えば「掲示板」や「アクセスカウンター」、「ショッピングカート」、「アクセス解析」、「問い合わせ」や「投稿」時に自動返信する「オートレスポンダー」等がCGIで実行可能な機能である。
インタラクティブなホームページは、JavaScriptでも作成することはできるが、CGIがサーバ上で動作するのに対し、JavaScriptは、全てのコードがクライアントPCにダウンロードされて 動作するため、大きなプログラムは非常に重く、実用的でない。更に、クライアントPCで動作するということはサーバを操作する事が絶対にできないということである。
現在ではほとんどのWebサーバソフト(Web機能を実現するために必要なApacheなど)がCGIに対応している。また、CGIはどのような開発言語でも使用できるが、 実際にはPerlがよく使用される。CGIに類似した技術にはSSIやASP等がある。