CGIライブラリは、Webサーバーとアプリケーションプログラムとの古典的なインターフェイスであるCGIに関するライブラリです。
CGIライブラリで定義されている主なクラス・モジュールは、次のとおりです。
CGI CGI::QueryExtension
CGIクラスは、HTTPヘッダーを生成するheaderメソッドと、いくつかのヘルパーメソッドを定義しています。
include/extendするモジュール:CGI::QueryExtensionモジュール
CGI::QueryExtensionモジュールは、利用者のWebブラウザからのフォームデータの受け入れと、環境変数へのアクセスのためのクラスです。
QueryExtensionモジュールは、上記のほか、環境変数にアクセスするためのメソッドも定義しています。環境変数はENV[]
でも得ることができますが、QueryExtensionのメソッドを使うと、キーの打ち間違いを発見しやすくなります(エラーが発生する)。
メソッド名は、原則として環境変数名を小文字にしたものですが、いくつかバリエーションがあります。
AUTH_TYPE CONTENT_TYPE GATEWAY_INTERFACE PATH_INFO PATH_TRANSLATED QUERY_STRING REMOTE_ADDR REMOTE_HOST REMOTE_IDENT REMOTE_USER REQUEST_METHOD SCRIPT_NAME SERVER_NAME SERVER_PROTOCOL SERVER_SOFTWARE
HTTP_ACCEPT HTTP_ACCEPT_CHARSET HTTP_ACCEPT_ENCODING HTTP_ACCEPT_LANGUAGE HTTP_CACHE_CONTROL HTTP_FROM HTTP_HOST HTTP_NEGOTIATE HTTP_PRAGMA HTTP_REFERER HTTP_USER_AGENT
CONTENT_LENGTH SERVER_PORT
HTTP_COOKIE raw_cookie HTTP_COOKIE2 raw_cookie2