以下の内容はhttps://www.weblio.jp/content/Common_Gateway_Interfaceより取得しました。


デジタル大辞泉デジタル大辞泉

シー‐ジー‐アイ【CGI】

読み方:しーじーあい

《common gateway interface》ブラウザー要求に応じてウェブサーバープログラム計算実行するための仕組み


PHPプロ!PHPプロ!

CGI

【英】 Common Gateway Interface

Webブラウザ要求に対してWebサーバープログラム起動するための仕組み。Common Gateway Interfaceの略。CGIを利用することで、動的に文書生成し送信することができる。PerlPHP言語などが主流使われているが、他にはRubyPythonJavaC言語なども利用できる

なおPHP言語はCGIとしての利用だけでなく、Webサーバー例えApache)などの組み込みモジュールとしても動作する

関連用語

関連Webサイト


IT用語辞典バイナリIT用語辞典バイナリ

CGI

プログラミングのほかの用語一覧
スクリプト言語:  Ajax  アクティブスクリプト  イベントハンドラ  CGI  CPAN  ECMAScript  Gauche

拡張子辞典拡張子辞典

.cgi

フルスペル:Common Gateway Interface
読み方シージーアイ

.cgiとは、CGIと呼ばれるWebブラウザからの要求に応じてWebサーバー上で実行されるプログラムに付く拡張子のことである。


ウィキペディアウィキペディア

Common Gateway Interface

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/06/28 20:26 UTC 版)

Common Gateway Interface(コモン・ゲートウェイ・インタフェース、CGI)は、ウェブサーバ上でユーザプログラムを動作させるための仕組み。現存する多くのウェブサーバプログラムはCGIの機能を利用することができる。 [1][2][3]

ウェブサーバプログラムの機能の主体は、あらかじめ用意された情報を利用者(クライアント)の要求に応じて送り返すことである。そのためサーバプログラム単体では情報をその場で動的に生成してクライアントに送信するような仕組みを作ることはできなかった。 そこでサーバプログラムから他のプログラムを呼び出し、その処理結果をクライアントに送信する方法が考案された。それを実現するためのサーバプログラムと外部プログラムとの連携法の取り決めが CGI である。

CGI は環境変数や標準入出力の扱えるプログラミング言語であれば、どの言語を用いても作成することができるが、主にPHP、Perl、Javaで作成されることが多い。

代表的なアプリケーションには、電子掲示板アクセスカウンタウィキブログシステムなどがある。

仕様

CGI の仕様はNCSAにより最初に定義・実装(NCSA HTTPdにおいて)され、現在の最新版はCGI1.1である。2004年RFC 3875となった。

CGI は、典型的には以下のような動作を期待される。CGIを経由して実行されるプログラムのことを、CGIプログラムと呼ぶ。

  • CGIプログラムはウェブサーバがクライアントからのリクエストに応じて起動する。
    典型的には、ウェブサーバの公開領域に置かれたプログラムに対応するURIへのリクエストがあると、サーバはそのCGIプログラムをCGIの取り決めに従って呼び出す。
  • CGIプログラムへの情報の入力は、コマンドライン引数環境変数標準入力によって行われる。
    • ウェブサーバがCGIプログラムを呼び出す時点でいくつかの環境変数を定義することが定められている。
    • 特に、クライアントがサーバに要求したURIのうち、検索文字列(Query String)部が環境変数 QUERY_STRING に設定されるので、これはHTMLフォームからGETメソッドで入力を受けるのに便利である。
    • QUERY_STRING に文字「=」が含まれない場合は、サーバは QUERY_STRING の内容をコマンドライン引数としてCGIプログラムに渡す。
    • クライアントからのHTTPリクエストのボディ部はCGIプログラム標準入力に流し込まれる。また、その入力の長さが環境変数 CONTENT_LENGTH に設定されている。これはHTMLフォームから POST メソッドで入力を受けるのに便利である。
    • CGIプログラムに対応する仮想パスの後に、更に余分のパスが続いた場合、その情報は環境変数 PATH_INFO に格納され PATH_INFO をウェブサーバの仮想パスと解釈した際に対応すべき物理パスが環境変数 PATH_TRANSLATED に格納される。この方式もまたCGIプログラムにユーザー側からパラメータを渡す目的でよく用いられる。
  • プログラムが標準出力に出力したデータは、ウェブサーバを経由してクライアントに送られる。このデータは正当なHTTPヘッダで始まらなければならない。
  • ただし、いくつかの特別なヘッダフィールドは「サーバディレクティブ」として解釈され、ウェブサーバの挙動(ステータスコードなど)に影響を与える。これ以外の全てのヘッダフィールドはそのままクライアントに送信される。

現在のウェブではHTMLが中心的な役割を果たしているので、CGIプログラムはHTMLを出力するケースが圧倒的に多い。

  • 画像データなどを出力することもある(これはアクセスカウンタなどを作る際に使われる)。

CGI以外の手法

近年では、ウェブサーバから外部のプログラムを呼び出すという負荷の大きい動作を避け、ウェブサーバの一部としてインタプリタを常時起動させておくことにより性能を向上させた mod_perlや、PSGI(Perl)、mod_phpFastCGIWSGI(Python) などのインタフェース・実装が一般的である。

このため、比較的新しいウェブサーバアプリケーションでは、CGIを直接動作させる機能を持たないものも存在する。

  • Nginx: FCGI Wrapにより、FastCGIとして動作させる。
  • H2O: fastcgi-cgiにより、FastCGIとして動作させる。
  • OpenBSD httpd: slowcgiにより、FastCGIとして動作させる。

脚注

関連項目

参考文献


ウィキペディアウィキペディア

Common Gateway Interface (CGI)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/11 15:19 UTC 版)

Webアプリケーションフレームワーク」の記事における「Common Gateway Interface (CGI)」の解説

World Wide Web設計は元々ダイナミックなものではなく初期ハイパーテキストWebサーバ上で公開されハードコードHTMLでできていた。 公開されページについての変更ページ作者が行う必要があった。ユーザーからの入力反映したコンテンツ提供するため、Webサーバ外部アプリケーションやり取りするためのCommon Gateway Interface (CGI) 標準導入された。CGIでは各リクエストが別々のプロセス開始しなければならないため、サーバ負荷に悪い影響与えことがある

※この「Common Gateway Interface (CGI)」の解説は、「Webアプリケーションフレームワーク」の解説の一部です。
「Common Gateway Interface (CGI)」を含む「Webアプリケーションフレームワーク」の記事については、「Webアプリケーションフレームワーク」の概要を参照ください。

ウィキペディア小見出し辞書の「Common_Gateway_Interface」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ

辞典・百科事典の検索サービス - Weblio辞書辞典・百科事典の検索サービス - Weblio辞書

「Common Gateway Interface」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。



固有名詞の分類

Webサーバ Mod wsgi  NCSA HTTPd  Common Gateway Interface  Thttpd  グーグル・ウェブサーバ



以上の内容はhttps://www.weblio.jp/content/Common_Gateway_Interfaceより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14