Common Gateway Interface
Common Gateway Interface(コモン・ゲートウェイ・インタフェース、CGI)は、ウェブサーバ上でユーザプログラムを動作させるための仕組み。現存する多くのウェブサーバプログラムはCGIの機能を利用することができる。
ウェブサーバプログラムの機能の主体は、あらかじめ用意された情報を利用者(クライアント)の要求に応じて送り返すことである。そのためサーバプログラム単体では情報をその場で動的に生成してクライアントに送信するような仕組みを作ることはできなかった。 そこでサーバプログラムから他のプログラムを呼び出し、その処理結果をクライアントに送信する方法が考案された。それを実現するためのサーバプログラムと外部プログラムとの連携法の取り決めが CGI である。
CGI は環境変数や標準入出力の扱えるプログラミング言語であれば、どの言語を用いても作成することができるが、主にPHP、Perl、Javaで作成されることが多い。
代表的なアプリケーションには、電子掲示板、アクセスカウンタ、ウィキやブログシステムなどがある。