|
Common Gateway Interface (コモン・ゲートウェイ・インタフェース、CGI)は、ウェブサーバ上でユーザプログラムを動作させるための仕組み。現存する多くのウェブサーバプログラムはCGIの機能を利用することができる。 ウェブサーバプログラムの機能の主体は、あらかじめ用意された情報を利用者(クライアント)の要求に応じて送り返すことである。そのためサーバプログラム単体では情報をその場で動的に生成してクライアントに送信するような仕組みを作ることはできなかった。 そこで、サーバプログラムから他のプログラムを呼び出し、その処理結果をクライアントに送信する方法が考案された。それを実現するためのサーバプログラムと外部プログラムとの連携法の取り決めがCGIである。 CGIは、環境変数や標準入出力の扱えるプログラミング言語からなら、言語の別を問わず幅広く利用できるが、実行速度やテキスト処理の容易さなどの兼ね合いにより、Perlが使われることが多かった。近年では、Perlに加えてPython、Rubyなども広く使われている。 代表的なアプリケーションには、電子掲示板やアクセスカウンタ、WikiやBlogシステムなどがある。 近年では、Webサーバのプロセスとしてインタプリタを常駐させておくことにより、CGIからプログラムを呼び出すオーバヘッドを減らし、パフォーマンスを向上させたJava Servletやmod_perl、mod_php、FastCGIなどの実装も出現している。
CGIに関するよくある誤解CGIはあくまでも、特定のプラットフォームに依存せずに、ウェブサーバなどから外部プログラムを呼び出す仕組みのことを指す。 そのため、この仕組みを用いて起動されるプログラム本体のことをCGIと呼称するのは、誤りである。また、1990年代後半のCGIを使ったプログラムはPerlが大部分であったため、「CGIとはPerlまたはそれに類する特定の言語のことである」という認識も広く存在するが、こちらも誤りである。 仕様CGIの仕様はNCSAにより最初に定義・実装され、現在の最新版はCGI1.1である[1]。2004年にRFC 3875となった[2]。 CGIは、典型的には以下のような動作を期待される。CGIを経由して実行されるプログラムのことを、CGIプログラムと呼ぶ。
脚注関連項目参考文献 |
This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.
Mercedes Car
This site monitored by SitePinger.net