CGIとは、サーバーサイドで動作するプログラムの一種で、クライアント(Webブラウザ)からの要求に応じて、Webサーバ側で動的なプログラムを実行するための仕組みです。
※それに対し、JavaScriptやActionScript(Flash)はクライアントサイドで動作するプログラムです。
通常、HTMLだけで作成されたWebページにアクセスすると、Webサーバに保存されているデータ(HTMLテキスト)がそのままWebブラウザに送り返されます。一方、CGIで作成されたページにアクセスした場合は、Webサーバ上にあるCGIファイルに書かれたプログラムが起動し、その結果がHTMLとしてWebブラウザに送り返されます。なお、CGIファイルの作成にはPerlが使われることが多くあります。
CGIを利用することで、HTMLだけでは表現することができなかった 動的なページを作成することが可能となり、掲示板、ブログ、ショッピングカート、アクセスカウンターなど、Web上にある様々なプログラムとしてCGIが使われています。