[1] CGI のメタ変数 REQUEST_METHOD
は、
クライアントからの要求におけるメソッドを表します。
- [9] >>6 HTTP では方式名は大文字・小文字区別しませんよねぇ。
- [10] 比較する前に正規化しておかないといけないということですか。
[409] >>9 HTTP も仕様上は区別することになっているようです。
- [11] HTTP では(一般目的のサーバーに)最低限 GET と HEAD に対応するように義務付けています。また、 Apache などでは CGI script は
GET
を実装しておけば HEAD
は適当に処理してくれます。 - [12] >>11 CGI script, 特に form要素からの入力を扱うものでは更に POST にも対応するのが普通です。他の方式に対応した CGI script は見たことがありません。
- [13] [NCSA] では、 HTTP の場合は
GET
などが〜という表現になっている一方、 [COAR 03] では上記のように、この変数は HTTP 特有と述べています。それでも >>8 で必ず提供するよう要求していますから、 HTTP 以外では空の値になるのでしょうか? - [14] Apache の実装では、
OPTIONS
と TRACE
は自前で処理しますが、それ以外の値はチェックせずに CGI Script に渡します。 - [15] >>14 だから、未知の method が与えられたときには
405
Metehod Not Available を返すように CGI Script を実装しておかないと、不正な応答を返してしまう恐れがあります。 - [16] Apache では、 SSI の場合、未知の method は 403 をちゃんと返してしまうので、環境変数
REQUEST_METHOD
や SSI から呼ばれた CGI での同メタ変数が任意の method について得られるかは不明です。