[1] SIP_*
メタ変数群は、 SIP
要求の頭欄が反映されるもので、
HTTP CGI では
HTTP_*
メタ変数群に相当します。
These metavariables are specific to the protocol via which the method is sent. Interpretation of these variables depends on the value of the SERVER_PROTOCOL metavariable (see section 5.5.1.20).
これらのメタ変数群は、
method が送信されたプロトコルに特有のものです。
これらの変数の解釈は
SERVER_PROTOCOL
メタ変数の値に依存します。
Metavariables with names beginning with "SIP_" contain values from the message header, if the protocol used was SIP. Each SIP header field name is converted to upper case, has all occurrences of "-" replaced with "_", and has "SIP_" prepended to form the metavariable name. Similar transformations are applied for other protocols. The header data MAY be presented as sent by the client, or MAY be rewritten in ways which do not change its semantics. If multiple header fields with the same field-name are received then the server MUST rewrite them as though they had been received as a single header field having the same semantics before being represented in a metavariable. Similarly, a header field that is received on more than one line MUST be merged into a single line. The server MUST, if necessary, change the representation of the data (for example, the character set) to be appropriate for a CGI metavariable.
名前が SIP_
から始まるメタ変数群には、
使用されているプロトコルが SIP
である時にメッセージ頭からの値を設定します。
各 SIP 頭欄名は大文字に変換され、
全ての -
を _
に置換し、 SIP_
を頭につけてメタ変数名を形成します。
同様の変換が他のプロトコルにも適用されます。
頭データはクライアントから送られたままにしても構いません (MAY)
し、その意味を変更しない範囲で書き換えても構いません (MAY)。
同じ欄名の複数の頭欄を受信した時は、
サーバーはメタ変数として表現する前にこれを書き換えて同じ意味を持つ単一の頭欄を受信したようにしなければなりません (MUST)。
同様に、複数行で受信した頭欄は単一行に併合しなければなりません (MUST)。
サーバーは、必要であれば、
データの表現 (例えば文字集合)
を変更して CGI
メタ変数として適切なものとしなければなりません (MUST)。
Note: these metavariables' names were changed from HTTP_* to SIP_* since the first draft of this specification. The intention had been to make it easier to use existing CGI libraries unmodified, but this convenience was felt to be outweighed by the confusion this introduced.
注意: これらのメタ変数群の名前は、
この仕様書の最初の原案から、
HTTP_*
から
SIP_*
に変更しました。
その意図は、既存の CGI
ライブラリを修正せずに使用することを用意とすることにありますが、
この便宜はこれが招く混乱より価値があると感じられます。
Servers are not required to create metavariables for all the message header fields they receive. However, because of the relatively high importance of headers in SIP for messages' semantic content, the server SHOULD provide all headers which do not contain potentially sensitive authorization information, such as Authorization. Servers SHOULD provide protocol-specific metavariables even for information which is available through other SIP CGI metavariables, such as CONTENT_LENGTH and CONTENT_TYPE.
サーバーに対してその受信した全てのメッセージ頭欄に関してメタ変数を作成することは要求していません。
しかし、 SIP においてメッセージの意味内容に頭が比較的高い重要性を持つことから、
サーバーは繊細な認証情報を含む可能性がある
Authorization
のようなものの他は全ての頭欄を提供するべきです (SHOULD)。
サーバーは、他の SIP CGI
メタ変数、例えば CONTENT_LENGTH
や CONTENT_TYPE
から利用可能な情報であっても、
プロトコル特有メタ変数を提供するべきです (SHOULD)。
This allows a SIP CGI script to determine, if necessary, whether the information in the other metavariables was in the original message, or was synthesized by the server.
これによって SIP CGI が必要であれば他のメタ変数の情報が元のメッセージにあったものか、 それともサーバーが生成したものかを判断できます。