REQUEST_METHOD

メタ変数 REQUEST_METHOD (CGI)

[1] CGIメタ変数 REQUEST_METHOD は、 クライアントからの要求におけるメソッドを表します。

仕様書

[410] 値の構文は次のように定義されています >>407

      REQUEST_METHOD   = method
      method           = "GET" | "POST" | "HEAD" | extension-method
      extension-method = "PUT" | "DELETE" | token

[411] クライアントの指定したメソッドメタ変数の値として設定しなければなりません >>407

[412] 大文字小文字は区別します >>407

[413] 実際には区別するCGIスクリプトもよくあります。また小文字を使うクライアントもたまに存在します。

[417] CGIスクリプトは適当なメソッドだけ実装することにしてもよく、その場合未対応のメソッド誤りとして拒絶するべきです >>416

[414] CGIスクリプトの実装はナイーブなものが多く、 REQUEST_METHOD を無視したり、特定のものと等しいかどうかしかチェックしていなかったりします。

本来は知らないものは 405 を返すべきなのでしょうが。

歴史

[406] CGI/1.1 draft-3 6.1.13. REQUEST_METHOD

The REQUEST_METHOD metavariable is set to the method with which the request was made, as described in section 5.1.1 of the HTTP/1.0 specification [3] and section 5.1.1 of the HTTP/1.1 specification [8].

[2] REQUEST_METHOD メタ変数は要求が行われた際の方式が設定されます。

  • [3] REQUEST_METHOD = http-method
  • [4] http-method = "GET" | "HEAD" | "POST" | "PUT" | "DELETE" | "OPTIONS" | "TRACE" | extension-method
  • [5] extension-method = token
      
    >The method is case sensitive. CGI/1.1 servers MAY choose to process some methods directly rather than passing them to scripts.

[6] 方式は大文字・小文字を区別します。 CGI/1.1 サーバーは幾つかの方式をスクリプトに渡さずに直接処理することを選んでも構いません

This variable is specific to requests made with HTTP.

[7] この変数は HTTP の要求で特有のものです。

Servers MUST provide this metavariable to scripts.

[8] サーバーはこのメタ変数をスクリプトに提供しなければなりません

[408] RFC 3050 (SIP-CGI/1.1) 5.5.1.11 REQUEST_METHOD

[18]

If the message triggering the script was a request, the REQUEST_METHOD metavariable is set to the method with which the request was made, as described in section 4.2 of the SIP/2.0 specification [2]; otherwise not defined.

スクリプトの引き金となったメッセージが要求であるなら、 REQUEST_METHOD メタ変数は要求が作られた method を SIP/2.0 仕様書の 4,2節に説明された通りに設定しなければなりません。 そうでなければ定義されません。

  • REQUEST_METHOD = sip-method
  • sip-method = "INVITE" | "BYE" | "OPTIONS" | "CANCEL" | "REGISTER" | "ACK" | extension-method
  • extension-method = token

Note that ACK is usually not appropriate for the SIP CGI 1.1 environment; however, see section 5.11. The implications of REGISTER in the CGI context are discussed in section 5.9, and CANCEL is discussed in section 5.10. A SIP CGI 1.1 server MAY choose to process some methods directly rather than passing them to scripts.

なお、 ACK は通常 SIP CGI 1.1 環境には適当ではありません。しかし、 5.11節をみて下さい。 CGI の文脈における REGISTER の暗示については5.9章で、 CANCEL については5.10章で扱っています。 SIP CGI 1.1 サーバーは幾つかの method をスクリプトに渡さずに直接処理することを選んでも構いません

Servers MUST provide this metavariable to scripts if the triggering message was a request.

サーバーは、引き金となったメッセージが要求であればこのメタ変数を提供しなければなりません

メモ

[409] >>9 HTTP も仕様上は区別することになっているようです。