📄 mod_proxy_ajp.html.ja.euc-jp
字号:
<p>惧淡メッセ〖ジは、それぞれ柒婶菇陇が佰なっています。拒嘿は布淡をご枉ください。
</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="rpacetstruct" id="rpacetstruct">リクエストパケット菇陇</a></h2>
<p>サ〖バからコンテナへ流られるメッセ〖ジが
<em>Forward Request</em> 房の眷圭 :</p>
<div class="example"><pre>
AJP13_FORWARD_REQUEST :=
prefix_code (byte) 0x02 = JK_AJP13_FORWARD_REQUEST
method (byte)
protocol (string)
req_uri (string)
remote_addr (string)
remote_host (string)
server_name (string)
server_port (integer)
is_ssl (boolean)
num_headers (integer)
request_headers *(req_header_name req_header_value)
attributes *(attribut_name attribute_value)
request_terminator (byte) OxFF
</pre></div>
<p><code>request_headers</code> は肌のような菇陇になっています :
</p><div class="example"><pre>
req_header_name :=
sc_req_header_name | (string) [see below for how this is parsed]
sc_req_header_name := 0xA0xx (integer)
req_header_value := (string)
</pre></div>
<p><code>掳拉</code> はオプションで、肌のような菇陇をしています :</p>
<div class="example"><pre>
attribute_name := sc_a_name | (sc_a_req_attribute string)
attribute_value := (string)
</pre></div>
<p>もっとも脚妥なヘッダは <code>content-length</code> だということに
庙罢してください。コンテナは肌のパケットを玫すかどうかを、
それを斧て疯めるからです。</p>
<h3>Forward Request 妥燎の拒嘿な棱汤
</h3>
<h3>Request prefix</h3>
<p>リクエストについては链て、この猛は 2 になります。戮の Prefix コ〖ドの拒嘿は
惧淡をご枉ください。</p>
<h3>Method</h3>
<p>HTTP メソッドは 1 バイトにエンコ〖ドされます :</p>
<table>
<tr><td>Command Name</td><td>Code</td></tr>
<tr><td>OPTIONS</td><td>1</td></tr>
<tr><td>GET</td><td>2</td></tr>
<tr><td>HEAD</td><td>3</td></tr>
<tr><td>POST</td><td>4</td></tr>
<tr><td>PUT</td><td>5</td></tr>
<tr><td>DELETE</td><td>6</td></tr>
<tr><td>TRACE</td><td>7</td></tr>
<tr><td>PROPFIND</td><td>8</td></tr>
<tr><td>PROPPATCH</td><td>9</td></tr>
<tr><td>MKCOL</td><td>10</td></tr>
<tr><td>COPY</td><td>11</td></tr>
<tr><td>MOVE</td><td>12</td></tr>
<tr><td>LOCK</td><td>13</td></tr>
<tr><td>UNLOCK</td><td>14</td></tr>
<tr><td>ACL</td><td>15</td></tr>
<tr><td>REPORT</td><td>16</td></tr>
<tr><td>VERSION-CONTROL</td><td>17</td></tr>
<tr><td>CHECKIN</td><td>18</td></tr>
<tr><td>CHECKOUT</td><td>19</td></tr>
<tr><td>UNCHECKOUT</td><td>20</td></tr>
<tr><td>SEARCH</td><td>21</td></tr>
<tr><td>MKWORKSPACE</td><td>22</td></tr>
<tr><td>UPDATE</td><td>23</td></tr>
<tr><td>LABEL</td><td>24</td></tr>
<tr><td>MERGE</td><td>25</td></tr>
<tr><td>BASELINE_CONTROL</td><td>26</td></tr>
<tr><td>MKACTIVITY</td><td>27</td></tr>
</table>
<p>海稿の ajp13 バ〖ジョンでは、この办枉にない、海稿纳裁されるメソッドを
流るかもしれません。</p>
<h3>protocol, req_uri, remote_addr, remote_host, server_name,
server_port, is_ssl</h3>
<p>これらはまさに矢机奶りのものです。どれも涩妥で、リクエストの髓搀につき
流られます。</p>
<h3>Headers</h3>
<p><code>request_headers</code> の菇陇は肌のようなものです :
まずヘッダの眶 <code>num_headers</code> がエンコ〖ドされます。
肌にヘッダ叹 <code>req_header_name</code> / 猛 <code>req_header_value</code>
の寥が鲁きます。跟唯のため、办忍弄なヘッダは腊眶でエンコ〖ドして啪流します。
ヘッダ叹が答塑ヘッダの办枉に痰い眷圭は、奶撅奶り (矢机误として、墓さ
プレフィックス烧きで) 啪流されます。办忍弄なヘッダ
<code>sc_req_header_name</code> の办枉とそのコ〖ドは肌の奶りです
(どれも络矢机井矢机を惰侍します) :</p>
<table>
<tr><td>叹涟</td><td>コ〖ドの猛</td><td>コ〖ド叹</td></tr>
<tr><td>accept</td><td>0xA001</td><td>SC_REQ_ACCEPT</td></tr>
<tr><td>accept-charset</td><td>0xA002</td><td>SC_REQ_ACCEPT_CHARSET
</td></tr>
<tr><td>accept-encoding</td><td>0xA003</td><td>SC_REQ_ACCEPT_ENCODING
</td></tr>
<tr><td>accept-language</td><td>0xA004</td><td>SC_REQ_ACCEPT_LANGUAGE
</td></tr>
<tr><td>authorization</td><td>0xA005</td><td>SC_REQ_AUTHORIZATION</td>
</tr>
<tr><td>connection</td><td>0xA006</td><td>SC_REQ_CONNECTION</td></tr>
<tr><td>content-type</td><td>0xA007</td><td>SC_REQ_CONTENT_TYPE</td>
</tr>
<tr><td>content-length</td><td>0xA008</td><td>SC_REQ_CONTENT_LENGTH</td>
</tr>
<tr><td>cookie</td><td>0xA009</td><td>SC_REQ_COOKIE</td></tr>
<tr><td>cookie2</td><td>0xA00A</td><td>SC_REQ_COOKIE2</td></tr>
<tr><td>host</td><td>0xA00B</td><td>SC_REQ_HOST</td></tr>
<tr><td>pragma</td><td>0xA00C</td><td>SC_REQ_PRAGMA</td></tr>
<tr><td>referer</td><td>0xA00D</td><td>SC_REQ_REFERER</td></tr>
<tr><td>user-agent</td><td>0xA00E</td><td>SC_REQ_USER_AGENT</td></tr>
</table>
<p>これを粕み哈む Java のコ〖ドでは、呵介の 2 バイト腊眶を艰り哈み、
誊磅になるバイト <code>'0xA0'</code> であれば、ヘッダ叹の芹误の
インデックスを蝗います。黎片バイトが <code>0xA0</code> でない眷圭は、
黎片 2 バイトは矢机误墓を山す腊眶であると豺坚し、粕み哈みはじめます。</p>
<p>ヘッダ叹の墓さは <code>0x9999 (==0xA000 -1)</code> 笆惧にならないという
簿年の布に瓢いていて、警しあいまいですが圭妄弄な刁瓢になっています。</p>
<div class="note"><h3>庙:</h3>
<code>content-length</code> ヘッダはとても脚妥です。
赂哼していて润ゼロであれば、リクエストにはボディがある (毋えば POST
リクエスト) と夸卢し、そのボディを艰り哈むために
木稿のパケットを掐蜗ストリ〖ムから粕み哈みはじめます。
</div>
<h3>掳拉</h3>
<p><code>?</code> プレフィックスで幌まる掳拉 (毋 <code>?context</code>)
は。臼维材墙です。それぞれ掳拉の房を绩す 1 バイトのコ〖ドと、
猛の矢机误が鲁きます。
これらは界稍票で流ることができます (C のコ〖ドは撅に布の办枉界に
流るようですが) 。
オプションの掳拉のリストの呵稿には、泼侍な姜位コ〖ドが流られます。
コ〖ドの办枉は : </p>
<table>
<tr><td>Information</td><td>Code Value</td><td>Note</td></tr>
<tr><td>?context</td><td>0x01</td><td>踏悸刘
</td></tr>
<tr><td>?servlet_path</td><td>0x02</td><td>踏悸刘
</td></tr>
<tr><td>?remote_user</td><td>0x03</td><td /></tr>
<tr><td>?auth_type</td><td>0x04</td><td /></tr>
<tr><td>?query_string</td><td>0x05</td><td /></tr>
<tr><td>?jvm_route</td><td>0x06</td><td /></tr>
<tr><td>?ssl_cert</td><td>0x07</td><td /></tr>
<tr><td>?ssl_cipher</td><td>0x08</td><td /></tr>
<tr><td>?ssl_session</td><td>0x09</td><td /></tr>
<tr><td>?req_attribute</td><td>0x0A</td><td>Name (the name of the
attribute follows)</td></tr>
<tr><td>?ssl_key_size</td><td>0x0B</td><td /></tr>
<tr><td>are_done</td><td>0xFF</td><td>request_terminator</td></tr>
</table>
<p><code>context</code> と <code>servlet_path</code> は附哼の C の
コ〖ドではセットされていません。また、ほとんどの Java のコ〖ドでも、
このフィ〖ルドで部が流られても痰浑されます (これらのコ〖ドの稿に矢机误が
流られると蝉れるものもあります)。
これがバグなのか、帽に踏悸刘なのか、悟凰弄沸稗で荒っているコ〖ドなのか
尸かりませんが、コネクションの尉娄ともで斧碰たりません。</p>
<p><code>remote_user</code> と <code>auth_type</code> はおそらく
HTTP レベルの千沮を徊救していて、リモ〖トユ〖ザのユ〖ザ叹と千沮に蝗脱した
タイプ (毋 Basic, Digest) についてやり艰りします。</p>
<p><code>query_string</code>, <code>ssl_cert</code>,
<code>ssl_cipher</code>, <code>ssl_session</code>
は HTTP と HTTPS の滦炳する婶尸を徊救します。</p>
<p><code>jvm_route</code> はスティッキ〖セッションのサポ〖ト〗〗
ロ〖ドバランスしている剩眶のサ〖バ面の泼年の Tomcat インスタンスと、
ユ〖ザのセッションとを沙烧ける怠墙〗〗に蝗われます。</p>
<p>この答塑掳拉办枉に痰いものについては、<code>req_attribute</code>
コ〖ド <code>0x0A</code> 沸统で掳拉を部改でも流ることができます。
掳拉の叹涟と猛の矢机误の寥を、それぞれこのコ〖ドの木稿に流ります。
茨董恃眶はこの数恕で帕えられます。</p>
<p>呵稿に掳拉が链て流慨された稿に、掳拉の姜眉を绩す <code>0xFF</code>
が流叫されます。この慨规は掳拉の办枉の姜わりを绩すと票箕に、リクエスト
パケットの姜眉をも绩しています。</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="resppacketstruct" id="resppacketstruct">レスポンスパケット菇陇</a></h2>
<p>コンテナがサ〖バに流り手すことのできるメッセ〖ジ:</p>
<div class="example"><pre>
AJP13_SEND_BODY_CHUNK :=
prefix_code 3
chunk_length (integer)
chunk *(byte)
AJP13_SEND_HEADERS :=
prefix_code 4
http_status_code (integer)
http_status_msg (string)
num_headers (integer)
response_headers *(res_header_name header_value)
res_header_name :=
sc_res_header_name | (string) [see below for how this is parsed]
sc_res_header_name := 0xA0 (byte)
header_value := (string)
AJP13_END_RESPONSE :=
prefix_code 5
reuse (boolean)
AJP13_GET_BODY_CHUNK :=
prefix_code 6
requested_length (integer)
</pre></div>
<h3>拒嘿 :</h3>
<h3>Send Body Chunk</h3>
<p>チャンクは答塑弄にはバイナリデ〖タで、ブラウザに木儡流られます。</p>
<h3>Send Headers</h3>
<p>ステ〖タスコ〖ドとメッセ〖ジが奶撅の HTTP の奶慨にはあります (毋
<code>200</code> と <code>OK</code>)。レスポンスヘッダ叹は、
リクエストヘッダ叹と票屯の数恕でエンコ〖ドされます。
コ〖ドと矢机误の冉侍数恕の拒嘿に簇しては、惧淡の header_encoding
を徊救してください。
办忍弄なヘッダのコ〖ドは :</p>
<table>
<tr><td>叹涟</td><td>コ〖ドの猛</td></tr>
<tr><td>Content-Type</td><td>0xA001</td></tr>
<tr><td>Content-Language</td><td>0xA002</td></tr>
<tr><td>Content-Length</td><td>0xA003</td></tr>
<tr><td>Date</td><td>0xA004</td></tr>
<tr><td>Last-Modified</td><td>0xA005</td></tr>
<tr><td>Location</td><td>0xA006</td></tr>
<tr><td>Set-Cookie</td><td>0xA007</td></tr>
<tr><td>Set-Cookie2</td><td>0xA008</td></tr>
<tr><td>Servlet-Engine</td><td>0xA009</td></tr>
<tr><td>Status</td><td>0xA00A</td></tr>
<tr><td>WWW-Authenticate</td><td>0xA00B</td></tr>
</table>
<p>コ〖ドかヘッダ矢机误の木稿には、ヘッダの猛がエンコ〖ドされます。</p>
<h3>End Response</h3>
<p>リクエスト借妄サイクルの姜位を梦らせます。<code>reuse</code> フラグが靠
<code>(==1)</code> の眷圭、附哼蝗脱している TCP コネクションは肌の糠しい
リクエストに蝗えるようになります。<code>reuse</code> が刀 (C のコ〖ドでは
1 笆嘲の链て) の眷圭は、コネクションを誓じることになります。</p>
<h3>Get Body Chunk</h3>
<p>(ボディのサイズが络きすぎて呵介のパケットに箭まらない眷圭や、
リクエストがチャンク啪流された眷圭などには、) コンテナはリクエストからの
デ〖タ粕み哈み妥滇をします。サ〖バ娄はそれに滦して、呵井
<code>request_length</code> 呵络 <code>(8186 (8 Kbytes - 6))</code>
の认跋で、踏啪流で荒っているリクエストボディの络きさのデ〖タを
流り手します。<br />
ボディにそれ笆惧デ〖タが荒っていない眷圭 (つまりサ〖ブレットが
ボディの呵稿を亩えて粕み哈もうとした眷圭) 、サ〖バは
ペイロ〖ド墓 0 の<em>鄂パケット</em><code>(0x12,0x34,0x00,0x00)</code>
を流り手します。</p>
</div>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_ajp.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../ja/mod/mod_proxy_ajp.html" title="Japanese"> ja </a></p>
</div><div id="footer">
<p class="apache">Copyright 2006 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュ〖ル</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">脱胳</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -