CGI

"Common Gateway Interface" の略。Web サーバーが外部コマンドを起動して動的に生成された Web ページを表示するための仕組みのこと。

GET メソッドと POST メソッド


CGI の呼び出し方には、大別して GET メソッドと POST メソッドの 2 つがある(正確には他に PUT, DELETE もあるが、あまり使わない)。これらは主にパラメータの受け渡し方法に違いがある。どちらを使うかは HTML の form タグの method 属性で指定する。

GET メソッド


GET メソッドはパラメータを URL の一部に含めて引き渡す方法。主に引き渡すデータサイズが小さい場合に用いられる。また、パラメータも含めてリンクにできるため、CGI が出力したページに直リンクすることを可能にしたい場合にも有効。

一般的に URL は以下のような形式になる。

<CGIのURL>?<パラメータ名1>=<値1>&<パラメータ名2>=<値2>...

当然ながら、パラメータ名や値に含まれる記号などは適切にエスケープする必要がある。CGI スクリプトには環境変数 QUERY_STRING 経由で上記のパラメータが渡される。

POST メソッド


POST メソッドは HTTP リクエスト本体にパラメータを含めて引き渡す方法。引き渡すデータサイズが大きい場合やファイルアップロードなどに用いられる。POST メソッドを使用した最も簡単な HTTP リクエストは以下のようになる。

POST /foo.cgi HTTP/1.0
Content-Length: <パラメータ文字列のサイズ>
Content-Type: application/x-www-form-urlencoded

<パラメータ名1>=<値1>&<パラメータ名2>=<値2>...

CGI スクリプト側には上記のパラメータ文字列のサイズが環境変数 CONTENT_LENGTH に設定され、パラメータ本体は標準入力経由で引き渡される。

キーワード


2008年03月30日(日) 23:05:05 Modified by sourcewalker




スマートフォン版で見る

×

この広告は60日間更新がないwikiに表示されております。