<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGI</anchor> の<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">meta-variable</rt></rubyb></dfn>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>についての情報を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>から<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGIスクリプト</anchor>に提供するものです。
一般的には<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オペレーティング・システム</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">環境変数</anchor>として実装されています。</p><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end> <cite xml:lang="en">RFC 3875 - The Common Gateway Interface (CGI) Version 1.1</cite> <ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc3875#section-1.4">http://tools.ietf.org/html/rfc3875#section-1.4</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end> <strong><anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc3875#section-4.1">http://tools.ietf.org/html/rfc3875#section-4.1</anchor-external></strong></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="60" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[60]</anchor-end> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc3875#section-4.1.18">http://tools.ietf.org/html/rfc3875#section-4.1.18</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="63" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[63]</anchor-end> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc3875#section-7">http://tools.ietf.org/html/rfc3875#section-7</anchor-external></li></ul></li></ul></refs></section><section><h1>定義</h1><figure class="quote"><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> </p><blockquote><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>から<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプト</anchor>に情報を伝達する名前付き<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オペレーティング・システム</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">環境変数</anchor>として実装するのが最も一般的ですが、
必ずしもそうである必要はありません。</p></blockquote><figcaption><src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;35</anchor-internal></src></figcaption></figure></section><section><h1>名前</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>には<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前</anchor>があります。変数名は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字・小文字不区別</anchor>です。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGI</anchor> 仕様においては<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字</anchor>と <code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">_</anchor></code> の正準形で表されていますが、
実際の名前は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">システム定義</anchor>となっています。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;38</anchor-internal></src></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">小文字</anchor>以外の変形について仕様上は明確に述べられているわけではありませんが、
<code xmlns="http://www.w3.org/1999/xhtml" class="CGI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SERVER_NAME</anchor></code> を <code xmlns="http://www.w3.org/1999/xhtml">server-name</code>, <code xmlns="http://www.w3.org/1999/xhtml">serverName</code>, 
<code xmlns="http://www.w3.org/1999/xhtml">SERVER.NAME</code>, <code xmlns="http://www.w3.org/1999/xhtml" class="CGI">SERVER NAME</code> など一定の規則で変形させたものもシステムごとの表現の範囲内として認められるものと思われます。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="42" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[42]</anchor-end> 構文上は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL scheme</anchor> 依存、あるいは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGI</anchor> 本体仕様に含まれない拡張された<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>の名前として
<code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">token</anchor></code> で使えるすべての<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>が使えることになっています。また、
長さ制限もありません。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;38</anchor-internal></src></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="43" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[43]</anchor-end> しかし実際には<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">英数字</anchor>と <code xmlns="http://www.w3.org/1999/xhtml" class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">_</anchor></code> 以外が含まれる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>は使われていなそうです。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="48" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[48]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実装定義</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>を設定して構いません。その名前は <code class="CGI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">X_</anchor></code>
で始まる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor>。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;38</anchor-internal></src></p></section><section><h1>値</h1><section><h1>値の構文</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="53" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[53]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>の値は一般に<pre class="ABNF code">      meta-variable-value = &quot;&quot; | 1*&lt;<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TEXT</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CHAR</anchor> or <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">token</anchor>s of value&gt;</pre>... と定義されています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;38</anchor-internal></src>。更に個別の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>ごとに更に詳細な構文が定義されています。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="54" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[54]</anchor-end> 実質的に <code xmlns="http://www.w3.org/1999/xhtml" class="ABNF" xml:lang="en">*<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OCTET</anchor></code> と同じですが、そうなっていないのは、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オクテット列</anchor>でなく<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>の列であ (り<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オクテット</anchor>表現は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">システム定義</anchor>であ) ることや、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>によっては単純な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オクテット列</anchor>ではなく構造を持った列であることを意識しているのでしょう。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="52" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[52]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">小文字</anchor>は一般に区別されます。</p></section><section><h1>値の授受</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[39]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>から<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGIスクリプト</anchor>へどのように<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGIメタ変数</anchor>を引き渡すかは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">システム定義</anchor>です
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;38</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="51" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[51]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>の値の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>をどのように表現するかは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">システム定義</anchor>です。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>はその表現に変換しなければ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor>。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;38</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> サーバーはスクリプトにメタ変数を渡す方法を用意し<em>なければなりません</em>。
多くの実装では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">環境変数</anchor>として渡されます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WinCGI</anchor> では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">INIファイル</anchor>を使ってメタ変数を渡していたそうです。 (INI のファイル名は CGI スクリプトの第1引数となります。) (WinCGI が他の点でちゃんと CGI に適合するのかは知りませんが。)</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="41" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[41]</anchor-end> 一般的には予め<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">環境変数</anchor>として設定した後に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGIスクリプト</anchor>を起動するため、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGIスクリプト</anchor>ではすべての<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>の値が (利用するかどうかに関わらず) 取得可能なように実装されていますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メソッド</anchor>呼び出しの形で実装されている場合など、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGI</anchor> の実装方法次第では値の決定が遅延されて必要に応じて行われることもあり得ます。</comment-p></section><section><h1>空の値</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[50]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGI</anchor> では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空文字列</anchor>のことを <dfn><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NULL</anchor></dfn> といいます。更に、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空文字列</anchor>と値が無い、
値が設定されていないことを区別しません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> HTTP CGI では歴史的に両者を基本的には区別しませんが、
SIP CGI ではその区別を要求しています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="58" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[58]</anchor-end> <code class="CGI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">QUERY_STRING</anchor></code>, <code class="CGI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SCRIPT_NAME</anchor></code> 
に関しては例外 (かもしれない) 規定があります。</p></section><section><h1>非妥当な値</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="56" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[56]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>はそれぞれの構文と意味が規定されていますが、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>からの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>によってそれが定まる場合、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>の仕様に従っていない場合には<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>も同様に仕様に従っていないこともあります。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="57" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[57]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC</anchor> にはそのような場合にどうするべきか明記されていませんが、
わざわざ <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> への適合性を細かく検査してから<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGIスクリプト</anchor>を呼び出したりは (特に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>側の処理で必要がない限り)
しないでしょうから、そのような値がそのまま<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGIスクリプト</anchor>に渡ってくることはよくあります。</comment-p></section></section><section><h1>プロトコル非依存のメタ変数</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="44" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[44]</anchor-end> <code class="CGI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GATEWAY_INTERFACE</anchor></code>, <code class="CGI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REMOTE_ADDR</anchor></code>,
<code class="CGI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SERVER_NAME</anchor></code> など、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGI</anchor> や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>、あるいは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>の情報を提供する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>や、
<code class="CGI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CONTENT_TYPE</anchor></code> など<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>についての情報を提供する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>があります。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[55]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 3875</anchor> としてはプロトコル非依存のつもりで書いているのでしょうが、実際には <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor>
の強く依存しており、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SIP CGI</anchor> とは矛盾した要件も存在しています。 (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SIP CGI</anchor> の方が追い越して先に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC</anchor>
になっているにも関わらず、整合性はありません。)</comment-p></section><section><h1>プロトコル依存のメタ変数</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="45" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[45]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL scheme</anchor> と同名の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>や、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL scheme</anchor> または<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>の名前から始まる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>も存在します。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;38</anchor-internal></src> そのような<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>は、当該<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>特有の情報を提供します。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="59" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[59]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL scheme</anchor> に依存した<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>を設定する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor>。
その解釈は <code class="CGI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SERVER_PROTOCOL</anchor></code> に示された<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>の版に拠ります。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="60" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;60</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> 次のものがあります。<figure class="short list"><ul><li><code class="CGI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP_<var xmlns="http://www.w3.org/1999/xhtml">*</var></anchor></code></li><li><code class="CGI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SIP_<var xmlns="http://www.w3.org/1999/xhtml">*</var></anchor></code></li></ul></figure></p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="46" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[46]</anchor-end> 例えば <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> というプロトコルにおいては、 <code class="CGI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP_USER_AGENT</anchor></code> という名前の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>が
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求メッセージ</anchor>の <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">User-Agent:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">欄</anchor>の値を提供することになっています。</p></example><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="61" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[61]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL scheme</anchor> と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>が異なるときに <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL scheme</anchor> と同名の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>を非
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NULL</anchor> 値に設定して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">構いません</strong></anchor>。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="60" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;60</anchor-internal></src></p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="47" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[47]</anchor-end> また、 <code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">https:</anchor></code> という <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL scheme</anchor> (で表現される <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor>/<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLS</anchor>)
が使われている時には <code class="CGI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPS</anchor></code> という名前の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>が定義されることになっています。</p></example><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> 次のものがあります。<figure class="short list"><ul><li><code class="CGI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPS</anchor></code></li></ul></figure></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="66" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[66]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WSGI</anchor> とその派生仕様は、 <code xmlns="http://www.w3.org/1999/xhtml"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">wsgi.url_scheme</anchor></code> のような <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL scheme</anchor>
を直接提供する変数を (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGI</anchor> 由来の変数とは別に) 提供しています。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL</anchor> / <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLS</anchor> に関する情報は、 <code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_<var xmlns="http://www.w3.org/1999/xhtml">*</var></anchor></code>
という名前の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>に設定されます。</p></section><section><h1>実装</h1><section><h1>Apache</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> Apache の環境変数 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://httpd.apache.org/docs/env.html">http://httpd.apache.org/docs/env.html</anchor-external>。 Apache では挙動の制御に環境変数が使われますが、 CGI の環境変数群が CGI 以外の場面でもしばしば使用出来ます。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Wyvern</anchor> : <em>環境変数設定モジュール</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.mysticwall.com/software/wyvern/manual-2.1/mod_env.html">http://www.mysticwall.com/software/wyvern/manual-2.1/mod_env.html</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <em>mod_ssl - Apache HTTP Server</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://httpd.apache.org/docs-2.0/ja/mod/mod_ssl.html">http://httpd.apache.org/docs-2.0/ja/mod/mod_ssl.html</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> <cite xml:lang="en">mod_ssl - Apache HTTP Server</cite>
(<time>2009-10-15 04:32:44 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#envvars">http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#envvars</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> <cite xml:lang="en">mod_rewrite - Apache HTTP Server</cite>
(<time>2009-10-04 03:10:27 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#RewriteCond">http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#RewriteCond</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> <cite xml:lang="ja">mod_cgi - Apache HTTP サーバ</cite>
( (<time>2011-01-03 22:02:54 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://httpd.apache.org/docs/2.0/ja/mod/mod_cgi.html#env">http://httpd.apache.org/docs/2.0/ja/mod/mod_cgi.html#env</anchor-external></li></ul></refs></section><section><h1>AmigaDOS</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="62" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[62]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">AmigaDOS</anchor> では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>は同名の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">環境変数</anchor>として<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGIスクリプト</anchor>に渡されます。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGIスクリプト</anchor>からは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOS</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ライブラリー</anchor>の <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GetVar()</anchor></code> 
によりアクセスできます。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">flags</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0</anchor> とする<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor>。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字・小文字不区別</anchor>ですが、区別する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">システム</anchor>との互換性ために<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字</anchor>を使うべきです。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="63" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;63</anchor-internal></src></p></section><section><h1>Unix, EBCDIC/POSIX</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="64" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[64]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unix</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">POSIX</anchor> 互換の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">システム</anchor>では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>は同名の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">環境変数</anchor>として
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGIスクリプト</anchor>に渡されます。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGIスクリプト</anchor>からは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">C</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ライブラリー</anchor>の <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">getenv()</anchor></code>
や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">変数</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">environ</anchor> によりアクセスできます。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="63" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;63</anchor-internal></src>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">小文字</anchor>は区別されます。</p></section><section><h1>Windows</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="65" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[65]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>は同名の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">環境変数</anchor>として<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGIスクリプト</anchor>に渡されます。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字・小文字不区別</anchor>ですが、区別する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">システム</anchor>との互換性のために<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字</anchor>を使うべきです。</p></section><section><h1>狭義の CGI 以外</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> 元々の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGI</anchor> の他に、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WSGI</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PSGI</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">P6W</anchor> などの派生仕様でも、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>の仕組みが継承されています。ただし、細かくはそれぞれの規定があって、
統一されていません。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGI</anchor> も参照。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Apache</anchor> では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>の処理の際に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">環境変数</anchor>と設定され、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGI</anchor> に限らず用いられています。 <code>httpd.conf</code> や <code>.htaccess</code>
の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">指令</anchor> (<code>mod_rewrite</code> の <code>RewriteRule</code> など) や、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">mod_perl</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Perlスクリプト</anchor>や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">mod_php</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PHPスクリプト</anchor>などからも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">環境変数</anchor>が参照されます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="72" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[72]</anchor-end> <cite xml:lang="ja">A Guide to the Internet Connection Servers - SG244805.PDF</cite>, <time>2009-11-28T06:54:29.000Z</time>, <time>2024-08-18T14:00:58.834Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://ps-2.kev009.com/rs6000/redbook-cd/SG244805.PDF#page=284">http://ps-2.kev009.com/rs6000/redbook-cd/SG244805.PDF#page=284</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="73" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[73]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="72" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;72</anchor-internal> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IBM</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ICAPI</anchor>。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGI</anchor>と同じ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>を採用。</p></section></section><section><h1>メタ変数の一覧</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end><ul><li>●・・・サーバーは必ず提供<em>しなければならない</em>。 (場合によってはしなければならない、を含む。)</li><li>◎・・・サーバーは提供する<em>べき</em>である。</li><li>○・・・定義されている。(提供しても<em>よい</em>。)</li></ul></p><table><tbody><tr><th>1.1</th><th>SIP</th><th>名前</th><th>実装</th></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ALL_HTTP</anchor></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ALL_RAW</anchor></code></td></tr><tr><td></td><td></td><td><code class="CGI" xml:lang="en">API_VERSION</code></td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">AUTH_PASS</anchor></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">AUTH_PASSWORD</anchor></code></td></tr><tr><td>◎</td><td>●</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">AUTH_TYPE</anchor></td><td></td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">AUTH_USER</anchor></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CERT_COOKIE</anchor></code></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CERT_FLAGS</anchor></code></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CERT_ISSUER</anchor></code></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CERT_KEYSIZE</anchor></code></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CERT_SECRETKEYSIZE</anchor></code></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CERT_SERIALNUMBER</anchor></code></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CERT_SERVER_ISSUER</anchor></code></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CERT_SERVER_SUBJECT</anchor></code></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CERT_SUBJECT</anchor></code></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CHARSET</anchor></code></td><td>[Russian Apache]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CHARSET_DETERMINED_BY</anchor></code></td><td>[Russian Apache]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CHARSET_HTTP_METHOD</anchor></code></td><td>[Russian Apache]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CHARSET_NOREDIRECT</anchor></code></td><td>[Russian Apache]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CHARSET_SERVER_NAME</anchor></code></td><td>[Russian Apache]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CHARSET_SERVER_PORT</anchor></code></td><td>[Russian Apache]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CLIENT_CERT_ENCODING</anchor></code></td></tr><tr><td></td><td></td><td><code class="CGI" xml:lang="en">CONN_REMOTE_ADDR</code></td></tr><tr><td>●</td><td>●</td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CONTENT_LENGTH</anchor></code></td></tr><tr><td>●</td><td>●</td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CONTENT_TYPE</anchor></code></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DATE_GMT</anchor></code></td><td>[SSI]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DATE_LOCAL</anchor></code></td><td>[SSI]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOCUMENT_NAME</anchor></code></td><td>[SSI]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOCUMENT_PATH_INFO</anchor></code></td><td>[SSI]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOCUMENT_ROOT</anchor></code></td><td>[Apache]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOCUMENT_URI</anchor></code></td><td>[SSI]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOCUMENT_URL</anchor></code></td><td></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FCGI_DATA_LENGTH</anchor></code></td><td>[FastCGI]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FCGI_LISTEN_QUEUE</anchor></td><td>[FastCGI]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FCGI_PROCESS_ID</anchor></td><td>[FastCGI]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FCGI_ROLE</anchor></code></td><td>[FastCGI]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FCGI_SOCKET_PATH</anchor></code></td><td>[FastCGI]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FILE_LAST_MOD</anchor></code></td><td>[FastCGI]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FORCE_CHARSET</anchor></code></td><td>[Russian Apache]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FORCE_SOURCE_CHARSET</anchor></code></td><td>[Russian Apache]</td></tr><tr><td>●</td><td>●</td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GATEWAY_INTERFACE</anchor></code></td></tr><tr><td>◎</td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP_*</anchor></code></td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPS</anchor></td><td>[Apache]</td></tr><tr><td>◎</td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPS_*</anchor></code></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPS_KEYSIZE</anchor></code></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPS_SECRETKEYSIZE</anchor></code></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPS_SERVER_ISSUER</anchor></code></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPS_SERVER_SUBJECT</anchor></code></td></tr><tr><td></td><td></td><td><code>IBM_CCSID_VALUE</code></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">INSTANCE_ID</anchor></code></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IS_SUBREQ</anchor></code></td><td>[Apache]?</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">LAST_MODIFIED</anchor></code></td><td>[SSI]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">LOCAL_ADDR</anchor></code></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">LOCAL_COOKIE</anchor></code></td><td>[w3m] 廃止</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">LOCAL_COOKIE_FILE</anchor></code></td><td>[w3m]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MOD_PERL</anchor></code></td><td>[mod_perl]</td></tr><tr><td>●</td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PATH_INFO</anchor></code></td></tr><tr><td>○</td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PATH_TRANSLATED</anchor></td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PERL_SEND_HEADER</anchor></td><td>[mod_perl]</td></tr><tr><td>●</td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">QUERY_STRING</anchor></td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">QUERY_STRING_UNESCAPED</anchor></td><td>[SSI]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REDIRECT_ERROR_NOTES</anchor></code></td><td>[Apache]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REDIRECT_FORCE_CHARSET</anchor></code></td><td>[Russian Apache]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REDIRECT_FORCE_CHARSET_CHARSET</anchor></code></td><td>[Russian Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REDIRECT_PATH</anchor></td><td>*</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REDIRECT_REQUEST_METHOD</anchor></code></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REDIRECT_QUERY_STRING</anchor></td><td>*</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REDIRECT_SCRIPT_URI</anchor></code></td><td>[Apache]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REDIRECT_SCRIPT_URL</anchor></code></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REDIRECT_STATUS</anchor></td><td>[Apache]*</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REDIRECT_URL</anchor></td><td>[Apache]*</td></tr><tr><td></td><td>??</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REGISTRATIONS</anchor></td></tr><tr><td>●</td><td>●</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REMOTE_ADDR</anchor></td></tr><tr><td>◎</td><td>◎</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REMOTE_HOST</anchor></td></tr><tr><td>○</td><td>○</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REMOTE_IDENT</anchor></td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REMOTE_PASSWORD</anchor></td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REMOTE_PORT</anchor></td><td>[Apache]</td></tr><tr><td>○</td><td>◎</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REMOTE_USER</anchor></td></tr><tr><td></td><td></td><td><code class="CGI" xml:lang="en">REQUEST_FILENAME</code></td></tr><tr><td>●</td><td>●</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REQUEST_METHOD</anchor></td></tr><tr><td></td><td></td><td><code class="CGI" xml:lang="en">REQUEST_SCHEME</code></td></tr><tr><td></td><td>??</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REQUEST_TOKEN</anchor></td></tr><tr><td></td><td>●</td><td><code class="CGI" xml:lang="en">REQUEST_URI</code></td></tr><tr><td></td><td>●</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RESPONSE_REASON</anchor></td></tr><tr><td></td><td>??</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RESPONSE_STATUS</anchor></td></tr><tr><td></td><td>??</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RESPONSE_TOKEN</anchor></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ROOT</anchor></code></td></tr><tr><td></td><td></td><td><code class="CGI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SCGI</anchor></code></td></tr><tr><td></td><td>??</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SCRIPT_COOKIE</anchor></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SCRIPT_DIRECTORY</anchor></code></td><td>[Protozilla]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SCRIPT_FILENAME</anchor></td><td>[Apache] など</td></tr><tr><td>●</td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SCRIPT_NAME</anchor></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SCRIPT_URI</anchor></code></td><td>[Apache]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SCRIPT_URL</anchor></code></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SERVER_ADDR</anchor></td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SERVER_ADMIN</anchor></td><td>[Apache]</td></tr><tr><td>●</td><td>●</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SERVER_NAME</anchor></td></tr><tr><td>●</td><td>●</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SERVER_PORT</anchor></td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SERVER_PORT_SECURE</anchor></td></tr><tr><td>●</td><td>●</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SERVER_PROTOCOL</anchor></td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SERVER_SIGNATURE</anchor></td><td>[Apache]</td></tr><tr><td>●</td><td>●</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SERVER_SOFTWARE</anchor></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SERVER_URL</anchor></code></td><td>[Netscape]</td></tr><tr><td></td><td>◎</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SIP_*</anchor></td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SOURCE_CHARSET</anchor></code></td><td>[Russian Apache]</td></tr><tr><td></td><td></td><td><code class="CGI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_<var xmlns="http://www.w3.org/1999/xhtml">*</var></anchor></code></td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CIPHER</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CIPHER_ALGKEYSIZE</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CIPHER_EXPORT</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CIPHER_USEKEYSIZE</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_A_KEY</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_A_SIG</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_CERT</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_CERT_CHAINn</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_I_DN</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_I_DN_C</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_I_DN_CN</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_I_DN_D</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_I_DN_Email</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_I_DN_G</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_I_DN_I</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_I_DN_L</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_I_DN_O</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_I_DN_OU</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_I_DN_S</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_I_DN_ST</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_I_DN_T</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_I_DN_UID</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_M_SERIAL</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_M_VERSION</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_S_DN</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_S_DN_C</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_S_DN_CN</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_S_DN_D</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_S_DN_Email</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_S_DN_G</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_S_DN_I</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_S_DN_L</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_S_DN_O</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_S_DN_OU</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_S_DN_S</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_S_DN_ST</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_S_DN_T</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_S_DN_UID</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_V_END</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_V_START</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_CLIENT_VERIFY</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_PROTOCOL</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_A_KEY</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_A_SIG</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_CERT</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_I_DN</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_I_DN_C</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_I_DN_CN</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_I_DN_D</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_I_DN_Email</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_I_DN_G</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_I_DN_I</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_I_DN_L</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_I_DN_O</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_I_DN_OU</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_I_DN_S</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_I_DN_ST</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_I_DN_T</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_I_DN_UID</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_M_SERIAL</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_M_VERSION</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_S_DN</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_S_DN_C</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_S_DN_CN</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_S_DN_D</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_S_DN_Email</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_S_DN_G</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_S_DN_I</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_S_DN_L</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_S_DN_O</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_S_DN_OU</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_S_DN_S</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_S_DN_ST</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_S_DN_T</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_S_DN_UID</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_V_END</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SERVER_V_START</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SESSION_ID</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><code class="CGI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SRP_USER</anchor></code></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Apache</anchor></td></tr><tr><td></td><td></td><td><code class="CGI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_SRP_USERINFO</anchor></code></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Apache</anchor></td></tr><tr><td></td><td></td><td><code class="CGI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_TLS_SNI</anchor></code></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Apache</anchor></td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_VERSION</anchor></td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_VERSION_INTERFACE</anchor></td><td>[Apache]?</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL_VERSION_LIBRARY</anchor></td><td>[Apache]</td></tr><tr><td></td><td></td><td><code class="CGI" xml:lang="en">THE_REQUEST</code></td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TIME</anchor></td><td>[Apache]?</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TIME_DAY</anchor></td><td>[Apache]?</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TIME_HOUR</anchor></td><td>[Apache]?</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TIME_MIN</anchor></td><td>[Apache]?</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TIME_MON</anchor></td><td>[Apache]?</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TIME_SEC</anchor></td><td>[Apache]?</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TIME_YEAR</anchor></td><td>[Apache]?</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI_DATA</anchor></code></td><td>[Protozilla]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI_HOST</anchor></code></td><td>[Protozilla]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI_POST</anchor></code></td><td>[Protozilla]</td></tr><tr><td></td><td></td><td><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI_SPEC</anchor></code></td><td>[Protozilla]</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor></td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">USER_NAME</anchor></td><td>[Apache]*</td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">W3M_*</anchor></td><td>[w3m]*</td></tr><tr><td>○</td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">X_*</anchor></td></tr><tr><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">X_IS_PRIVATE_ADDR</anchor></td><td>[Apache]</td></tr></tbody></table><ul><li>1.1 == HTTP CGI/1.1</li><li>SIP == SIP-CGI/1.1</li><li>[SSI] == SSI (参考)</li><li>[Apache]* == Apache (CGI とは直接関係ない機能)</li><li>[Apache]? == CGI スクリプトや SSI で利用可能であることが確認できないもの (設定ファイルなどの処理中のみ使用可能??)</li><li>[mod_perl] == <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">mod_perl</anchor> で CGI を使ったときに得られるもの (参考までに)</li><li>[Protozilla] == <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Protozilla</anchor> の <code class="URI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">cgi+</anchor>:</code> scheme を使った CGI スクリプト呼び出し</li><li>[Russian Apache] == 露西亜語版 Apache <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://apache.lexa.ru/configure.html#env-vars">http://apache.lexa.ru/configure.html#env-vars</anchor-external>。表には、 CGI 専用でない変数を含む。</li><li><em>Servertec - Common Gateway Interface (CGI)</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.servertec.com/products/iws/docs/cgi.html">http://www.servertec.com/products/iws/docs/cgi.html</anchor-external></li><li>[w3m] == w3m <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">LocalCGI</anchor></li></ul></section><section><h1>これは CGI メタ変数ではない!</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> よく <code>CGI 環境変数</code>として取り上げられるが CGI とは関係のない (たまたま設定されているだけの) 変数: <ul><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">COMSPEC</anchor></code></li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HOME</anchor></code></li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PATH</anchor></code></li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PWD</anchor></code></li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TZ</anchor></code></li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">USER</anchor></code></li></ul></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> こういうのを CGI 環境変数として挙げているような解説は参考にしない方が身のためです。</p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> しかし、 <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;14</anchor-internal> のような、 HTTP 鯖とまったく関係ない変数は別として、実際問題、 HTTP 鯖ソフトウェアが設定する環境変数が CGI メタ変数 (独自拡張を含む。) の実装なのか、鯖の別の機能の実装 (がたまたま CGI スクリプトから利用できるだけ) なのか、区別がつきませんよね。 CGI と関係のない鯖の機能で実装されているなら CGI メタ変数ではないと言うこともできるし、 CGI スクリプトから利用できる (している) 以上 CGI メタ変数だとも言える。その辺は結局言葉遊びというか、定義の問題になってしまうのか。。。 どうしようもないので <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;7</anchor-internal> の表ではかなり定義を曖昧に、広い範囲の環境変数を広義の CGI メタ変数として含めています。 SSI の変数なんて CGI とは関係ないとはいえ、 SSI からの CGI スクリプト呼出しでは現実に同じ名前空間に存在しているわけですし、別の鯖の実装では普通に (SSI 経由でなくても) CGI スクリプトから利用できたりするから、 CGI メタ変数であるかどうかの判断なんてもうどうでもよくなってしまう。</li></ul></section><section><h1>実装ごとの提供メタ変数</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <figure class="table"><dl><dt>name</dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor>名</dd><dt>rfc</dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 3875</anchor></dd><dt>wsgi</dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WSGI</anchor></dd><dt>psgi</dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PSGI</anchor></dd><dt>starman</dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Starman</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PSGI</anchor>)</dd><dt>twiggy</dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Twiggy</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PSGI</anchor>)</dd><dt>ascgi</dt><dd><code class="perl" xml:lang="en">HTTP::Request::AsCGI</code></dd></dl><dl><dt>name</dt><dd><code class="CGI" xml:lang="en">GATEWAY_INTERFACE</code></dd><dt>ascgi</dt><dd>○</dd><dt>rfc</dt><dd>○</dd></dl><dl><dt>name</dt><dd><code class="CGI" xml:lang="en">SERVER_SOFTWARE</code></dd><dt>ascgi</dt><dd>○</dd><dt>rfc</dt><dd>○</dd></dl><dl><dt>name</dt><dd><code class="CGI" xml:lang="en">REMOTE_ADDR</code></dd><dt>ascgi</dt><dd>○</dd><dt>starman</dt><dd>○</dd><dt>twiggy</dt><dd>○</dd><dt>rfc</dt><dd>○</dd></dl><dl><dt>name</dt><dd><code class="CGI" xml:lang="en">REMOTE_HOST</code></dd><dt>ascgi</dt><dd>○</dd><dt>starman</dt><dd>○</dd><dt>rfc</dt><dd><SHOULD xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SHOULD</SHOULD></dd></dl><dl><dt>name</dt><dd><code class="CGI" xml:lang="en">REMOTE_PORT</code></dd><dt>ascgi</dt><dd>○</dd><dt>starman</dt><dd>○</dd></dl><dl><dt>name</dt><dd><code class="CGI" xml:lang="en">HTTPS</code></dd><dt>ascgi</dt><dd>○</dd><dt>wsgi</dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLS</anchor> 利用時 <SHOULD xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SHOULD</SHOULD></dd></dl><dl><dt>name</dt><dd><code class="CGI" xml:lang="en">SSL_PROTOCOL</code></dd><dt>wsgi</dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLS</anchor> 利用時 <SHOULD xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SHOULD</SHOULD></dd></dl><dl><dt>name</dt><dd><code class="CGI" xml:lang="en">SERVER_PROTOCOL</code></dd><dt>psgi</dt><dd>○</dd><dt>ascgi</dt><dd>○</dd><dt>starman</dt><dd>○</dd><dt>twiggy</dt><dd>○</dd><dt>wsgi</dt><dd>○</dd><dt>rfc</dt><dd>○</dd></dl><dl><dt>name</dt><dd><code class="CGI" xml:lang="en">REQUEST_METHOD</code></dd><dt>psgi</dt><dd>○</dd><dt>ascgi</dt><dd>○</dd><dt>starman</dt><dd>○</dd><dt>twiggy</dt><dd>○</dd><dt>wsgi</dt><dd>○</dd><dt>rfc</dt><dd>○</dd></dl><dl><dt>name</dt><dd><code class="CGI" xml:lang="en">REQUEST_URI</code></dd><dt>psgi</dt><dd>○</dd><dt>ascgi</dt><dd>○</dd><dt>starman</dt><dd>○</dd><dt>twiggy</dt><dd>○</dd></dl><dl><dt>name</dt><dd><code class="CGI" xml:lang="en">SERVER_NAME</code></dd><dt>psgi</dt><dd>○</dd><dt>ascgi</dt><dd>○</dd><dt>starman</dt><dd>○</dd><dt>twiggy</dt><dd>○</dd><dt>wsgi</dt><dd>○</dd><dt>rfc</dt><dd>○</dd></dl><dl><dt>name</dt><dd><code class="CGI" xml:lang="en">SERVER_PORT</code></dd><dt>psgi</dt><dd>○</dd><dt>ascgi</dt><dd>○</dd><dt>starman</dt><dd>○</dd><dt>twiggy</dt><dd>○</dd><dt>wsgi</dt><dd>○</dd><dt>rfc</dt><dd>○</dd></dl><dl><dt>name</dt><dd><code class="CGI" xml:lang="en">SCRIPT_NAME</code></dd><dt>psgi</dt><dd>○</dd><dt>ascgi</dt><dd>○</dd><dt>starman</dt><dd>○</dd><dt>twiggy</dt><dd>○</dd><dt>wsgi</dt><dd>必要に応じて</dd><dt>rfc</dt><dd>必要に応じて</dd></dl><dl><dt>name</dt><dd><code class="CGI" xml:lang="en">PATH_INFO</code></dd><dt>psgi</dt><dd>○</dd><dt>ascgi</dt><dd>○</dd><dt>starman</dt><dd>○</dd><dt>twiggy</dt><dd>○</dd><dt>wsgi</dt><dd>必要に応じて</dd><dt>rfc</dt><dd>必要に応じて</dd></dl><dl><dt>name</dt><dd><code class="CGI" xml:lang="en">PATH_TRANSLATED</code></dd><dt>rfc</dt><dd>必要に応じて <SHOULD xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SHOULD</SHOULD></dd></dl><dl><dt>name</dt><dd><code class="CGI" xml:lang="en">QUERY_STRING</code></dd><dt>psgi</dt><dd>○</dd><dt>ascgi</dt><dd>○</dd><dt>starman</dt><dd>○</dd><dt>twiggy</dt><dd>○</dd><dt>wsgi</dt><dd>必要に応じて</dd><dt>rfc</dt><dd>必要に応じて</dd></dl><dl><dt>name</dt><dd><code class="CGI" xml:lang="en">HTTP_<var>*</var></code></dd><dt>psgi</dt><dd>必要に応じて</dd><dt>ascgi</dt><dd>必要に応じて</dd><dt>starman</dt><dd>必要に応じて</dd><dt>twiggy</dt><dd>必要に応じて</dd><dt>wsgi</dt><dd>必要に応じて</dd><dt>rfc</dt><dd>必要に応じて</dd></dl><dl><dt>name</dt><dd><code class="CGI" xml:lang="en">HTTP_HOST</code></dd><dt>ascgi</dt><dd>○</dd><dt>psgi</dt><dd>必要に応じて</dd><dt>starman</dt><dd>必要に応じて</dd><dt>twiggy</dt><dd>必要に応じて</dd><dt>wsgi</dt><dd>必要に応じて</dd><dt>rfc</dt><dd>必要に応じて</dd></dl><dl><dt>name</dt><dd><code class="CGI" xml:lang="en">CONTENT_TYPE</code></dd><dt>psgi</dt><dd>必要に応じて</dd><dt>ascgi</dt><dd>必要に応じて</dd><dt>starman</dt><dd>必要に応じて</dd><dt>twiggy</dt><dd>必要に応じて</dd><dt>wsgi</dt><dd>必要に応じて</dd><dt>rfc</dt><dd>必要に応じて</dd></dl><dl><dt>name</dt><dd><code class="CGI" xml:lang="en">CONTENT_LENGTH</code></dd><dt>psgi</dt><dd>必要に応じて</dd><dt>ascgi</dt><dd>必要に応じて</dd><dt>starman</dt><dd>必要に応じて</dd><dt>twiggy</dt><dd>必要に応じて</dd><dt>wsgi</dt><dd>必要に応じて</dd><dt>rfc</dt><dd>必要に応じて</dd></dl><dl><dt>name</dt><dd><code class="CGI" xml:lang="en">AUTH_TYPE</code></dd><dt>rfc</dt><dd>必要に応じて</dd></dl><dl><dt>name</dt><dd><code class="CGI" xml:lang="en">REMOTE_USER</code></dd><dt>rfc</dt><dd>必要に応じて</dd></dl><dl><dt>name</dt><dd><code class="CGI" xml:lang="en">REMOTE_IDENT</code></dd><dt>rfc</dt><dd><MAY xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MAY</MAY></dd></dl></figure></p></section><section><h1>メモ</h1><section><h1>CGI の肝はメタ変数。メタ変数の説明次第で CGI 解説文がトンデモかどうか判断できる。</h1><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> よく、「CGI 環境変数の説明」などと称して、色々な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">環境変数</anchor>の一覧を示している文書があります。そしてそのような文書にはたいてい、 <code>TZ</code> のように<em>たまたまそのサーバーで設定されていた</em>だけの環境変数が載っていたりします。筆者がちゃんとわかっているかを判断する一つの材料となります。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> また、 <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;6</anchor-internal> ほどではありませんが重要なポイントとして、一般的な CGI のめた変数と、 HTTP_<code>*</code> のめた変数をきちんと区別して扱っているかも要注意でしょう。厳しいことを言えば、このメタ変数群と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> 頭欄の関係に全く触れていなければその時点で HTTP CGI の説明として失格です。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <code>環境変数はブラウザが送る</code>と思っている人がいます。仕組みを知らない証拠です。</li></ul></section><section><h1>memo</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end>
[NCSA] では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">環境変数</anchor>とされていましたが、
[COAR] では CGI の普及を反映して、
より汎用的にメタ変数と呼んでいます。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Un|x</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windoze</anchor>
のような環境で、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Apache</anchor>
や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IIS</anchor> などを使っている場合など、
ほとんどの場合においてはメタ変数の手段として環境変数が使われますから、
現在でも環境変数で情報を伝えていると表現することは間違いではありませんが、
特に実装に依存した話をする場合以外は
[COAR] を尊重してメタ変数と呼ぶのがよいとおもいます。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC3050</anchor> もメタ変数と呼んでいます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> メタ変数は、サーバーから CGI
スクリプトへの情報伝達にのみ使われます。
変数の値を変更しても、サーバーの動作などに影響は出ません。
(メタ変数の手段によっては変更すること自体できないかもしれません。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="49" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[49]</anchor-end> HTTP CGI であっても、 
<code class="CGI">NULL</code> と値なしは
「実装依存」であって、
適当でよいわけではありません。
例えばサーバーはある時
<code class="CGI">QUERY_STRING</code>
が</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> <cite>mod_rewrite - shima111の日記</cite> (<time>2009-01-27 18:16:17 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://d.hatena.ne.jp/shima111/20070125/p1">http://d.hatena.ne.jp/shima111/20070125/p1</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="67" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[67]</anchor-end> <cite xml:lang="en">ESI Language Specification 1.0</cite>
( (<time>2001-08-03 20:25:52 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/esi-lang">http://www.w3.org/TR/esi-lang</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="68" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[68]</anchor-end> <cite xml:lang="EN">XQuery 3.0: An XML Query Language</cite>
( (<time>2014-04-08 08:26:21 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/xquery-30/#dt-environment-variables">http://www.w3.org/TR/xquery-30/#dt-environment-variables</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="69" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[69]</anchor-end> <cite xml:lang="en-US">Bash specially-crafted environment variables code injection attack | Red Hat Security</cite>
( (<time>2014-09-26 06:44:17 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://securityblog.redhat.com/2014/09/24/bash-specially-crafted-environment-variables-code-injection-attack/">https://securityblog.redhat.com/2014/09/24/bash-specially-crafted-environment-variables-code-injection-attack/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <cite xml:lang="en">specifications/spore_implementation.pod at master · SPORE/specifications</cite>
(<time>2015-12-03 01:37:46 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/SPORE/specifications/blob/master/spore_implementation.pod#the-request-environment">https://github.com/SPORE/specifications/blob/master/spore_implementation.pod#the-request-environment</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <cite xml:lang="en-US">Bash specially-crafted environment variables code injection attack | Red Hat Security</cite>
( (<time>2014-09-26 06:44:08 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://securityblog.redhat.com/2014/09/24/bash-specially-crafted-environment-variables-code-injection-attack/">https://securityblog.redhat.com/2014/09/24/bash-specially-crafted-environment-variables-code-injection-attack/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> <cite xml:lang="EN">XPath and XQuery Functions and Operators 3.1</cite>
(<time>2017-03-21 16:02:06 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.w3.org/TR/2017/REC-xpath-functions-31-20170321/#func-environment-variable">https://www.w3.org/TR/2017/REC-xpath-functions-31-20170321/#func-environment-variable</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> <cite xml:lang="en">Remove parse error on NULLs from input stream preprocessing stage</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">inikulin</anchor>著, <time>2017-05-12 21:07:36 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/8fa65b73575ed692ec7f75665bde32134acc4dd6">https://github.com/whatwg/html/commit/8fa65b73575ed692ec7f75665bde32134acc4dd6</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> <cite xml:lang="en">EventSource: ignore IDs with U+0000 by annevk · Pull Request #2849 · whatwg/html</cite>
(<time>2017-08-04 13:54:09 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/pull/2849">https://github.com/whatwg/html/pull/2849</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> <cite xml:lang="en">Make U+0000 a parse error in bogus comment and bogus DOCTYPE states</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">zcorpan</anchor>著, <time>2017-08-17 23:03:56 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/5a6fef58056832140fecf1580ca815f385730cec">https://github.com/whatwg/html/commit/5a6fef58056832140fecf1580ca815f385730cec</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> <cite xml:lang="en">Parse errors on NULLs in bogus comment. · Issue #2684 · whatwg/html</cite>
(<time>2017-08-25 22:42:38 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/issues/2684">https://github.com/whatwg/html/issues/2684</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> <cite xml:lang="en">Make U+0000 a parse error in bogus comment and bogus DOCTYPE states by zcorpan · Pull Request #2939 · whatwg/html</cite>
(<time>2017-08-25 22:43:33 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/pull/2939">https://github.com/whatwg/html/pull/2939</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="70" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[70]</anchor-end> <cite xml:lang="en">Editorial: Clarify what happens to U+0000 chars</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">sideshowbarker</anchor>著, <time>2017-08-28 16:11:20 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/05d0ae71e82871e2fd1785829d180218da83abe7">https://github.com/whatwg/html/commit/05d0ae71e82871e2fd1785829d180218da83abe7</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="71" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[71]</anchor-end> <cite xml:lang="en">Editorial: Clarify what happens to U+0000 chars by sideshowbarker · Pull Request #2968 · whatwg/html</cite>
(<time>2017-08-29 11:25:23 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/pull/2968">https://github.com/whatwg/html/pull/2968</anchor-external></p></section></section></body></html>