-<?xml version="1.0" encoding="iso-2022-jp"?>\r
-<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">\r
-<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>\r
-<!-- English Revision: 105989 -->\r
-\r
-<!--\r
- Copyright 2002-2004 The Apache Software Foundation\r
-\r
- Licensed under the Apache License, Version 2.0 (the "License");\r
- you may not use this file except in compliance with the License.\r
- You may obtain a copy of the License at\r
-\r
- http://www.apache.org/licenses/LICENSE-2.0\r
-\r
- Unless required by applicable law or agreed to in writing, software\r
- distributed under the License is distributed on an "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- See the License for the specific language governing permissions and\r
- limitations under the License.\r
--->\r
-\r
-<modulesynopsis metafile="mod_proxy_ajp.xml.meta">\r
-\r
-<name>mod_proxy_ajp</name>\r
-<description><module>mod_proxy</module> \e$B$G\e(B AJP \r
-\e$B$r%5%]!<%H$9$k$?$a$N%b%8%e!<%k\e(B</description>\r
-<status>Extension</status>\r
-<sourcefile>proxy_ajp.c</sourcefile>\r
-<identifier>proxy_ajp_module</identifier>\r
-\r
-<summary>\r
- <p>\e$BK\%b%8%e!<%k$K$O\e(B <module>mod_proxy</module> \e$B$,\e(B<em>\e$BI,MW$G$9\e(B</em>\e$B!#\e(B\r
- <code>Apache JServ Protocol version 1.3</code> (\e$B0J9_\e(B <em>AJP13</em>)\r
- \e$B$r%5%]!<%H$7$^$9!#\e(B</p>\r
-\r
- <p><code>AJP13</code> \e$B%W%m%H%3%k$r07$($k$h$&$K$9$k$K$O\e(B\r
- <module>mod_proxy</module> \e$B$H\e(B <module>mod_proxy_ajp</module>\r
- \e$B$r%5!<%P$KAH$_9~$`I,MW$,$"$j$^$9!#\e(B</p>\r
-\r
- <note type="warning"><title>\e$B7Y9p\e(B</title>\r
- <p><a href="#access"\r
- >\e$B0BA4$J%5!<%P$K$9$k\e(B</a>\e$B$^$G%W%m%/%75!G=$OM-8z$K$7$J$$$G$/$@$5$$!#\e(B\r
- \e$B%*!<%W%s%W%m%-%7%5!<%P$O$"$J$?<+?H$N%M%C%H%o!<%/$K$H$C$F$b!"\e(B\r
- \e$B%$%s%?!<%M%C%HA4BN$K$H$C$F$b4m81$G$9!#\e(B</p>\r
- </note>\r
-</summary>\r
-\r
-<seealso><module>mod_proxy</module></seealso>\r
-\r
-<section id="overviewprotocol"><title>\e$B%W%m%H%3%k$N35MW\e(B</title>\r
- <p><code>AJP13</code> \e$B%W%m%H%3%k$O%Q%1%C%H;X8~$G$9!#\e(B\r
- \e$B2DFI$J%W%l!<%s%F%-%9%H7A<0$G$O$J$/%P%$%J%j7A<0$K$J$C$?$N$O!"\e(B\r
- \e$B$*$=$i$/%Q%U%)!<%^%s%9>e$NM}M3$K$h$j$^$9!#\e(B\r
- \e$B%&%'%V%5!<%P$O%5!<%V%l%C%H%3%s%F%J$H\e(B TCP \e$B%3%M%/%7%g%s$GDL?.$7$^$9!#\e(B\r
- \e$B%=%1%C%H@8@.$O=E$$=hM}$J$N$G!"Ii2Y$r8:$i$9$?$a$K!"%5!<%V%l%C%H%3%s%F%J$H$N\e(B\r
- TCP \e$B@\B3$r0];}$7!"J#?t$N%j%/%(%9%H!&%l%9%]%s%9=hM}%5%$%/%k$KBP$7$F0l$D$N\e(B\r
- \e$B%3%M%/%7%g%s$r;H$$$^$o$9$h$&$K$J$C$F$$$^$9!#\e(B</p>\r
- <p>\e$B$"$k%j%/%(%9%H$K%3%M%/%7%g%s$,3d$jEv$F$i$l$k$H!"$=$N=hM}%5%$%/%k$,\e(B\r
- \e$B40N;$9$k$^$GB>$N$b$N$K;H$o$l$k$3$H$O$"$j$^$;$s!#\e(B\r
- \e$B$D$^$j%3%M%/%7%g%s>e$G$O!"%j%/%(%9%H$NF1;~=hM}$O9T$o$l$^$;$s!#\e(B\r
- \e$B$3$N$?$a!"%3%M%/%7%g%sN>C<$G$N<B9T$9$k%3!<%I$r4J7i$K$G$-$k0lJ}$G!"\e(B\r
- \e$BF1;~$K3+$/%3%M%/%7%g%s$OB?$/$J$C$F$$$^$9!#\e(B</p>\r
- <p>\e$B%5!<%V%l%C%H%3%s%F%J$X$N%3%M%/%7%g%s$r3+$$$?8e$O!"%3%M%/%7%g%s$N>uBV$O\e(B\r
- \e$B<!$N$I$l$+$K$J$j$^$9\e(B:</p>\r
- <ul>\r
- <li> Idle <br />\e$B%3%M%/%7%g%s>e$G=hM}$5$l$F$$$k%j%/%(%9%H$O$"$j$^$;$s!#\e(B</li>\r
- <li> Assigned <br />\e$B%3%M%/%7%g%s$O%j%/%(%9%H$r=hM}Cf$G$9!#\e(B</li>\r
- </ul>\r
- <p>\e$B%3%M%/%7%g%s$,FCDj$N%j%/%(%9%H$K%"%5%$%s$5$l$k$H!"4pK\E*$J>pJs\e(B (\e$BNc$($P\e(B\r
- HTTP \e$B%X%C%@Ey\e(B) \e$B$,05=L$5$l$?7A\e(B (\e$BNc$($PDL>o$NJ8;zNs$O@0?t$K%(%s%3!<%I$5$l$^$9\e(B)\r
- \e$B$GE>Aw$5$l$^$9!#>\:Y$O2<5-$N!V%j%/%(%9%H%Q%1%C%H$N9=B$!W$r;2>H$7$F$/$@$5$$!#\e(B\r
- \e$B%j%/%(%9%H$K%\%G%#$,B8:_\e(B <code>(content-length > 0)</code> \e$B$9$l$P!"\e(B\r
- \e$B4pK\E*$J>pJs$ND>8e$KJL%Q%1%C%H$GE>Aw$5$l$^$9!#\e(B</p>\r
- <p>\e$B$3$N;~E@$G$*$=$i$/!"%5!<%V%l%C%H%3%s%F%J$O=hM}$r3+;O$G$-$k$h$&$K$J$j$^$9!#\e(B\r
- \e$B$G$9$N$G!"<!$N%a%C%;!<%8$r%&%'%V%5!<%P$KLa$7$FCN$i$;$i$l$k$h$&$K$J$j$^$9!#\e(B</p>\r
- <ul>\r
- <li>SEND_HEADERS <br/>\e$B%V%i%&%6$K%X%C%@$rAw?.$7$^$9!#\e(B</li>\r
- <li>SEND_BODY_CHUNK <br/>\e$B%V%i%&%6$K%\%G%#%G!<%?$N%A%c%s%/$rAw$j$^$9!#\e(B\r
- </li>\r
- <li>GET_BODY_CHUNK <br/>\e$B%j%/%(%9%H$N%G!<%?$rA4$F<u$1<h$j=*$o$C$F$$$J$$$H$-$K!"\e(B\r
- \e$B;D$C$F$$$k%G!<%?$r<u$1<h$j$^$9!#%Q%1%C%H$K$"$kDj$^$C$?:GBgD9$,$"$j!"G$0U$N\e(B\r
- \e$BBg$-$5$N%G!<%?$,%j%/%(%9%H$N%\%G%#$H$7$F4^$^$l$&$k>l9g\e(B \r
- (\e$BNc$($P%U%!%$%k$N%"%C%W%m!<%I$N>l9g\e(B) \e$B$KI,MW$H$J$j$^$9!#\e(B\r
- (\e$BCm\e(B: HTTP \e$B$N%A%c%s%/E>Aw$H$O4XO"$"$j$^$;$s!#\e(B)</li>\r
- <li>END_RESPONSE <br/>\e$B%j%/%(%9%H=hM}%5%$%/%k$r=*N;$7$^$9!#\e(B</li>\r
- </ul>\r
- <p>\e$B8D!9$N%a%C%;!<%8$O$=$l$>$l0[$J$k%G!<%?%Q%1%C%H7A<0$K$J$C$F$$$^$9!#\e(B\r
- \e$B8e=R$N!V%l%9%]%s%9%Q%1%C%H$N9=B$!W$r;2>H$7$F$/$@$5$$!#\e(B</p>\r
-</section>\r
-\r
-<section id="basppacketstruct"><title>\e$B4pK\%Q%1%C%H9=B$\e(B</title>\r
- <p>\e$B$3$N%W%m%H%3%k$K$O\e(B XDR \e$B$+$i<u$17Q$$$@ItJ,$,>/$7$"$j$^$9$,!"B?$/$NE@$G\e(B\r
- \e$B0[$J$j$^$9\e(B (\e$BNc$($P\e(B 4 \e$B%P%$%H%"%i%$%a%s%H$G$J$$$3$H$J$I\e(B) \e$B!#\e(B</p>\r
- <p>\e$B%P%$%H%*!<%@!<\e(B: \e$B8D!9$N%P%$%H$N%(%s%G%#%"%s$,$I$&$J$C$F$$$k$+$O!"\e(B\r
- \e$B;d$O>\$7$/$J$$$N$G$9$,!"%j%H%k%(%s%G%#%"%s$K$J$C$F$$$k$H;W$$$^$9!#\e(B\r
- XDR \e$B;EMM$G$=$&$J$C$F$$$k$N$H!"AG@2$i$7$$$3$H$K\e(B sys/socket \e$B%i%$%V%i%j$,\e(B\r
- (C \e$B$G\e(B) \e$B$=$&$$$&Iw$K$G$-$F$$$k$N$G$=$&$J$N$@$H;W$$$^$7$?!#\e(B\r
- \e$B%=%1%C%H8F$S=P$7$NFbIt$K$D$$$F$h$j>\$7$$J}$,$$$i$C$7$c$$$^$7$?$i!"\e(B\r
- \e$B$465<x$/$@$5$$!#\e(B</p>\r
- <p>\e$B%W%m%H%3%k$K$O\e(B 4 \e$B$D$N%G!<%?%?%$%W$,$"$j$^$9\e(B: byte, boolean, \r
- integer, string \e$B$G$9!#\e(B</p>\r
- <dl>\r
- <dt><strong>Byte</strong></dt><dd>\e$B%P%$%H0l$D$G$9!#\e(B</dd>\r
- <dt><strong>Boolean</strong></dt>\r
- <dd>\e$B%P%$%H0l$D$G!"\e(B<code>1 = true</code>, <code>0 = false</code> \e$B$G$9!#\e(B\r
- (C \e$B$N$h$&$K\e(B) \e$BHsNm$r??$H$7$F07$C$F$7$^$&$H!"$"$k>l9g$OF0$/$+$b$7$l$^$;$s$7!"\e(B\r
- \e$BF0$+$J$$$+$b$7$l$^$;$s!#\e(B</dd>\r
- <dt><strong>Integer</strong></dt>\r
- <dd><code>0 \e$B$+$i\e(B 2^16 (32768)</code> \e$B$NHO0O$N?t;z!#9b<!$N\e(B 2 \e$B%P%$%H$,\e(B\r
- \e$B@h$K3JG<$5$l$^$9!#\e(B</dd>\r
- <dt><strong>String</strong></dt>\r
- <dd>\e$B2DJQD9$NJ8;zNs\e(B (2^16 \e$B$,D9$5$N>e8B\e(B) \e$B!#D9$5>pJs$N%Q%1%C%H\e(B 2 \e$B%P%$%H$N8e$K\e(B\r
- \e$BJ8;zNs\e(B (\e$B=*C<J8;z\e(B '\0' \e$B$r4^$`\e(B) \e$B$,B3$/7A<0$G%(%s%3!<%I$5$l$^$9!#\e(B\r
- \e$B%(%s%3!<%I$5$l$F$$$kD9$5>pJs$O:G8e$N\e(B '\0' \e$B$r\e(B<strong>\e$B%+%&%s%H$7$J$$\e(B</strong>\r
- \e$B$3$H$KCm0U$7$F$/$@$5$$!=!=$3$l$O\e(B <code>strlen</code> \e$B$HF1MM$G$9!#\e(B\r
- \e$B$3$l$i$N=*C<J8;z$r%9%-%C%W$9$k$?$a$K!"$"$^$j0UL#$NL5$$%$%s%/%j%a%s%HJ8\e(B\r
- \e$B$r$?$/$5$s=q$+$J$$$H$$$1$J$$$N$O!"\e(B\r
- Java \e$B$NB&$+$i8+$k$H>/$7J6$i$o$7$/46$8$i$l$k$+$b$7$l$^$;$s!#\e(B\r
- \e$B$3$&$J$C$?M}M3$O$*$=$i$/!"\e(BServlet \e$B%3%s%F%J$+$iJV$5$l$kJ8;zNs$rFI$_=P$9;~$K!"\e(B\r
- \e$B8zN($h$/\e(B C \e$B$N%3!<%I$r=q$1$k$h$&$K$9$k!=!=%5!<%V%l%C%H$+$iJV$5$l$k\e(B\r
- \e$BJ8;zNs$O\e(B \0 \e$BJ8;z$G=*C<$5$l$F$$$k$N$G!"\e(BC \e$B$N%3!<%I$G$O$o$6$o$6%3%T!<$r$;$:$K!"\e(B\r
- \e$B0l$D$N%P%C%U%!$X$N%j%U%!%l%s%9$r<h$j2s$9$h$&$K=q$/$3$H$,$G$-$k!=!=\e(B\r
- \e$B$?$a$@$H;W$o$l$^$9!#\e(B\r
- '\0' \e$BJ8;z$,$J$$>l9g$O!"\e(BC \e$B$G$OJ8;zNs$N5,B'$K9g$&$h$&$K%3%T!<$7$J$1$l$P\e(B\r
- \e$B$$$1$J$/$J$C$F$7$^$$$^$9!#\e(B</dd>\r
- </dl>\r
-\r
- <section><title>\e$B%Q%1%C%H%5%$%:\e(B</title>\r
- <p>\e$BB?$/$N%3!<%I$G$=$&$J$C$F$$$k$N$G$9$,!"%Q%1%C%H%5%$%:$N:GBg%5%$%:$O\e(B\r
- <code>8 * 1024 (8K)</code> \e$B$G$9!#%Q%1%C%H$N<B:]$ND9$5$O%X%C%@$K\e(B\r
- \e$B%(%s%3!<%I$5$l$FF~$C$F$$$^$9!#\e(B</p>\r
- </section>\r
- <section><title>\e$B%Q%1%C%H%X%C%@\e(B</title>\r
- <p>\e$B%5!<%P$+$i%3%s%F%J$KAw=P$5$l$k%Q%1%C%H$O\e(B <code>0x1234</code> \e$B$G;O$^$j$^$9!#\e(B\r
- \e$B%3%s%F%J$+$i%5!<%P$KAw$i$l$k%Q%1%C%H$O\e(B <code>AB</code> (ASCII \e$B%3!<%I\e(B A \e$B$H\e(B\r
- ASCII \e$B%3!<%I\e(B B) \e$B$G;O$^$j$^$9!#$3$NFs%P%$%H$N8e$K!"%Z%$%m!<%ID9$,\e(B (\e$B>e5-$N7A<0$G\e(B) \r
- \e$BB3$-$^$9!#$3$N$?$a!"%Z%$%m!<%ID9$N:GBgCM$O\e(B 2^16 \e$B$K$G$-$k$h$&$K;W$($^$9$,!"\e(B\r
- \e$B<B:]$K$O%3!<%I$G$O:GBgCM$O\e(B 8K \e$B$K@_Dj$5$l$F$$$^$9!#\e(B</p>\r
- <table>\r
- <tr>\r
- <td colspan="6"><em>\e$B%Q%1%C%H7A<0\e(B (Server->Container)</em></td>\r
- </tr>\r
- <tr>\r
- <td>Byte</td>\r
- <td>0</td>\r
- <td>1</td>\r
- <td>2</td>\r
- <td>3</td>\r
- <td>4...(n+3)</td>\r
- </tr>\r
- <tr>\r
- <td>Contents</td>\r
- <td>0x12</td>\r
- <td>0x34</td>\r
- <td colspan="2">\e$B%G!<%?D9\e(B (n)</td>\r
- <td>Data</td>\r
- </tr>\r
- </table>\r
- <table>\r
- <tr>\r
- <td colspan="6"><em>\e$B%Q%1%C%H7A<0\e(B (Container->Server)</em></td>\r
- </tr>\r
- <tr>\r
- <td>Byte</td>\r
- <td>0</td>\r
- <td>1</td>\r
- <td>2</td>\r
- <td>3</td>\r
- <td>4...(n+3)</td>\r
- </tr>\r
- <tr>\r
- <td>Contents</td>\r
- <td>A</td>\r
- <td>B</td>\r
- <td colspan="2">\e$B%G!<%?D9\e(B (n)</td>\r
- <td>Data</td>\r
- </tr>\r
- </table>\r
- <p>\e$B$[$H$s$I$N%Q%1%C%H$G!"%Z%$%m!<%I$N:G=i$N%P%$%H$,%a%C%;!<%8$N7?$r%(%s%3!<%I\e(B\r
- \e$B$7$F$$$^$9!#Nc30$O%5!<%P$+$i%3%s%F%J$KAw$i$l$k%j%/%(%9%H%\%G%#%Q%1%C%H$G$9\e(B\r
- \e$B!=!=$3$l$i$OI8=`E*$J%Q%1%C%H7A<0\e(B (<code>0x1234</code> \e$B$H%Q%1%C%HD9\e(B)\r
- \e$B$G$9$,!"$=$N8e$KB3$/%W%l%U%#%C%/%9%3!<%I$,$"$j$^$;$s!#\e(B</p>\r
- <p>\e$B%&%'%V%5!<%P$O<!$N%a%C%;!<%8$r%5!<%V%l%C%H%3%s%F%J$KAw=P$G$-$^$9!#\e(B</p>\r
- <table>\r
- <tr>\r
- <td>\e$B%3!<%I\e(B</td>\r
- <td>\e$B%Q%1%C%H$N7?\e(B</td>\r
- <td>\e$B0UL#\e(B</td>\r
- </tr>\r
- <tr>\r
- <td>2</td>\r
- <td>Forward Request</td>\r
- <td>\e$B%j%/%(%9%H=hM}%5%$%/%k$r8eB3$N%G!<%?$H$H$b$K3+;O$9$k!#\e(B</td>\r
- </tr>\r
- <tr>\r
- <td>7</td>\r
- <td>Shutdown</td>\r
- <td>\e$B%&%'%V%5!<%P$,%3%s%F%J$K!"%3%s%F%J$r=*N;$9$k$h$&$KEA$($k!#\e(B</td>\r
- </tr>\r
- <tr>\r
- <td>8</td>\r
- <td>Ping</td>\r
- <td>\e$B%&%'%V%5!<%P$,%3%s%F%J$K@)8f$r<u$1;}$D$h$&$KEA$($k\e(B \r
- (\e$B%;%-%e%"%m%0%$%s%U%'!<%:\e(B) \e$B!#\e(B</td>\r
- </tr>\r
- <tr>\r
- <td>10</td>\r
- <td>CPing</td>\r
- <td>\e$B%&%'%V%5!<%P$,%3%s%F%J$K\e(B CPong \e$B$GB(:B$K1~Ez$9$k$h$&$KEA$($k!#\e(B</td>\r
- </tr>\r
- <tr>\r
- <td>none</td>\r
- <td>Data</td>\r
- <td>\e$B%5%$%:\e(B (2 \e$B%P%$%H\e(B) \e$B$H$=$l$KB3$/%\%G%#%G!<%?!#\e(B</td>\r
- </tr>\r
- </table>\r
- <p>\e$B4pK\E*$J%;%-%e%j%F%#$r3NJ]$9$k$?$a!"%[%9%H$5$l$F$$$k%^%7%s$HF10l$N\e(B\r
- \e$B%^%7%s$+$i$N%j%/%(%9%H$KBP$7$F$N$_!"%3%s%F%J$O<B:]$K\e(B <code>Shutdown</code>\r
- \e$B$r<B9T$7$^$9!#\e(B</p>\r
- <p>\e$B:G=i$N\e(B <code>Data</code> \e$B%Q%1%C%H$O!"\e(B<code>Forward Request</code> \r
- \e$B$ND>8e$K%&%'%V%5!<%P$+$iAw$i$l$^$9!#\e(B</p>\r
- <p>\e$B%5!<%V%l%C%H%3%s%F%J$O%&%'%V%5!<%P$K!"<!$N%?%$%W$N%a%C%;!<%8$rAw$k$3$H$,\e(B\r
- \e$B$G$-$^$9\e(B :</p>\r
- <table>\r
- <tr>\r
- <td>\e$B%3!<%I\e(B</td>\r
- <td>\e$B%Q%1%C%H$N7?\e(B</td>\r
- <td>\e$B0UL#\e(B</td>\r
- </tr>\r
- <tr>\r
- <td>3</td>\r
- <td>Send Body Chunk</td>\r
- <td>\e$B%5!<%V%l%C%H%3%s%F%J$+$i%&%'%V%5!<%P$K\e(B\r
- (\e$B$=$7$F$*$=$i$/$=$N$^$^%V%i%&%6$K\e(B)\e$B!"%\%G%#$N%A%c%s%/$rAw$k!#\e(B</td>\r
- </tr>\r
- <tr>\r
- <td>4</td>\r
- <td>Send Headers</td>\r
- <td>\e$B%5!<%V%l%C%H%3%s%F%J$+$i%&%'%V%5!<%P$K\e(B (\e$B$=$7$F$*$=$i$/$=$N$^$^%V%i%&%6$K\e(B)\r
- \e$B%l%9%]%s%9%X%C%@$rAw$k!#\e(B</td>\r
- </tr>\r
- <tr>\r
- <td>5</td>\r
- <td>End Response</td>\r
- <td>\e$B%l%9%]%s%9\e(B (\e$B$D$^$j%j%/%(%9%H=hM}%5%$%/%k\e(B) \e$B=*N;$NL\0u$rAw$k!#\e(B\r
- </td>\r
- </tr>\r
- <tr>\r
- <td>6</td>\r
- <td>Get Body Chunk</td>\r
- <td>\e$B$^$@A4$FE>Aw$5$l$F$$$J$$>l9g!";D$C$F$$$k%j%/%(%9%H$N%G!<%?$r<u$1<h$k!#\e(B\r
- </td>\r
- </tr>\r
- <tr>\r
- <td>9</td>\r
- <td>CPong \e$B1~Ez\e(B</td>\r
- <td>CPing \e$B%j%/%(%9%H$K1~Ez$9$k!#\e(B</td>\r
- </tr>\r
- </table>\r
- <p>\e$B>e5-%a%C%;!<%8$O!"$=$l$>$lFbIt9=B$$,0[$J$C$F$$$^$9!#>\:Y$O2<5-$r$4Mw$/$@$5$$!#\e(B\r
- </p>\r
- </section>\r
-</section>\r
-<section id="rpacetstruct"><title>\e$B%j%/%(%9%H%Q%1%C%H9=B$\e(B</title>\r
- <p>\e$B%5!<%P$+$i%3%s%F%J$XAw$i$l$k%a%C%;!<%8$,\e(B\r
- <em>Forward Request</em> \e$B7?$N>l9g\e(B :</p>\r
- <example><pre>\r
-AJP13_FORWARD_REQUEST :=\r
- prefix_code (byte) 0x02 = JK_AJP13_FORWARD_REQUEST\r
- method (byte)\r
- protocol (string)\r
- req_uri (string)\r
- remote_addr (string)\r
- remote_host (string)\r
- server_name (string)\r
- server_port (integer)\r
- is_ssl (boolean)\r
- num_headers (integer)\r
- request_headers *(req_header_name req_header_value)\r
- attributes *(attribut_name attribute_value)\r
- request_terminator (byte) OxFF\r
- </pre></example>\r
- <p><code>request_headers</code> \e$B$O<!$N$h$&$J9=B$$K$J$C$F$$$^$9\e(B :\r
- </p><example><pre>\r
-req_header_name := \r
- sc_req_header_name | (string) [see below for how this is parsed]\r
-\r
-sc_req_header_name := 0xA0xx (integer)\r
-\r
-req_header_value := (string)\r
-</pre></example>\r
- <p><code>\e$BB0@-\e(B</code> \e$B$O%*%W%7%g%s$G!"<!$N$h$&$J9=B$$r$7$F$$$^$9\e(B :</p>\r
- <example><pre>\r
-attribute_name := sc_a_name | (sc_a_req_attribute string)\r
-\r
-attribute_value := (string)\r
-\r
- </pre></example>\r
- <p>\e$B$b$C$H$b=EMW$J%X%C%@$O\e(B <code>content-length</code> \e$B$@$H$$$&$3$H$K\e(B\r
- \e$BCm0U$7$F$/$@$5$$!#%3%s%F%J$O<!$N%Q%1%C%H$rC5$9$+$I$&$+$r!"\e(B\r
- \e$B$=$l$r8+$F7h$a$k$+$i$G$9!#\e(B</p>\r
- <section><title>Forward Request \e$BMWAG$N>\:Y$J@bL@\e(B\r
- </title></section>\r
- <section><title>Request prefix</title>\r
- <p>\e$B%j%/%(%9%H$K$D$$$F$OA4$F!"$3$NCM$O\e(B 2 \e$B$K$J$j$^$9!#B>$N\e(B Prefix \e$B%3!<%I$N>\:Y$O\e(B\r
- \e$B>e5-$r$4Mw$/$@$5$$!#\e(B</p>\r
- </section>\r
- <section><title>Method</title>\r
- <p>HTTP \e$B%a%=%C%I$O\e(B 1 \e$B%P%$%H$K%(%s%3!<%I$5$l$^$9\e(B :</p>\r
- <table>\r
- <tr><td>Command Name</td><td>Code</td></tr>\r
- <tr><td>OPTIONS</td><td>1</td></tr>\r
- <tr><td>GET</td><td>2</td></tr>\r
- <tr><td>HEAD</td><td>3</td></tr>\r
- <tr><td>POST</td><td>4</td></tr>\r
- <tr><td>PUT</td><td>5</td></tr>\r
- <tr><td>DELETE</td><td>6</td></tr>\r
- <tr><td>TRACE</td><td>7</td></tr>\r
- <tr><td>PROPFIND</td><td>8</td></tr>\r
- <tr><td>PROPPATCH</td><td>9</td></tr>\r
- <tr><td>MKCOL</td><td>10</td></tr>\r
- <tr><td>COPY</td><td>11</td></tr>\r
- <tr><td>MOVE</td><td>12</td></tr>\r
- <tr><td>LOCK</td><td>13</td></tr>\r
- <tr><td>UNLOCK</td><td>14</td></tr>\r
- <tr><td>ACL</td><td>15</td></tr>\r
- <tr><td>REPORT</td><td>16</td></tr>\r
- <tr><td>VERSION-CONTROL</td><td>17</td></tr>\r
- <tr><td>CHECKIN</td><td>18</td></tr>\r
- <tr><td>CHECKOUT</td><td>19</td></tr>\r
- <tr><td>UNCHECKOUT</td><td>20</td></tr>\r
- <tr><td>SEARCH</td><td>21</td></tr>\r
- <tr><td>MKWORKSPACE</td><td>22</td></tr>\r
- <tr><td>UPDATE</td><td>23</td></tr>\r
- <tr><td>LABEL</td><td>24</td></tr>\r
- <tr><td>MERGE</td><td>25</td></tr>\r
- <tr><td>BASELINE_CONTROL</td><td>26</td></tr>\r
- <tr><td>MKACTIVITY</td><td>27</td></tr>\r
- </table>\r
- <p>\e$B:#8e$N\e(B ajp13 \e$B%P!<%8%g%s$G$O!"$3$N0lMw$K$J$$!":#8eDI2C$5$l$k%a%=%C%I$r\e(B\r
- \e$BAw$k$+$b$7$l$^$;$s!#\e(B</p>\r
- </section>\r
- <section><title>protocol, req_uri, remote_addr, remote_host, server_name,\r
- server_port, is_ssl</title>\r
- <p>\e$B$3$l$i$O$^$5$KJ8;zDL$j$N$b$N$G$9!#$I$l$bI,MW$G!"%j%/%(%9%H$NKh2s$K$D$-\e(B\r
- \e$BAw$i$l$^$9!#\e(B</p>\r
- </section>\r
- <section><title>Headers</title>\r
- <p><code>request_headers</code> \e$B$N9=B$$O<!$N$h$&$J$b$N$G$9\e(B :\r
- \e$B$^$:%X%C%@$N?t\e(B <code>num_headers</code> \e$B$,%(%s%3!<%I$5$l$^$9!#\e(B\r
- \e$B<!$K%X%C%@L>\e(B <code>req_header_name</code> / \e$BCM\e(B <code>req_header_value</code>\r
- \e$B$NAH$,B3$-$^$9!#8zN($N$?$a!"0lHLE*$J%X%C%@$O@0?t$G%(%s%3!<%I$7$FE>Aw$7$^$9!#\e(B\r
- \e$B%X%C%@L>$,4pK\%X%C%@$N0lMw$KL5$$>l9g$O!"DL>oDL$j\e(B (\e$BJ8;zNs$H$7$F!"D9$5\e(B\r
- \e$B%W%l%U%#%C%/%9IU$-$G\e(B) \e$BE>Aw$5$l$^$9!#0lHLE*$J%X%C%@\e(B \r
- <code>sc_req_header_name</code> \e$B$N0lMw$H$=$N%3!<%I$O<!$NDL$j$G$9\e(B \r
- (\e$B$I$l$bBgJ8;z>.J8;z$r6hJL$7$^$9\e(B) :</p>\r
- <table>\r
- <tr><td>\e$BL>A0\e(B</td><td>\e$B%3!<%I$NCM\e(B</td><td>\e$B%3!<%IL>\e(B</td></tr>\r
- <tr><td>accept</td><td>0xA001</td><td>SC_REQ_ACCEPT</td></tr>\r
- <tr><td>accept-charset</td><td>0xA002</td><td>SC_REQ_ACCEPT_CHARSET\r
- </td></tr>\r
- <tr><td>accept-encoding</td><td>0xA003</td><td>SC_REQ_ACCEPT_ENCODING\r
- </td></tr>\r
- <tr><td>accept-language</td><td>0xA004</td><td>SC_REQ_ACCEPT_LANGUAGE\r
- </td></tr>\r
- <tr><td>authorization</td><td>0xA005</td><td>SC_REQ_AUTHORIZATION</td>\r
- </tr>\r
- <tr><td>connection</td><td>0xA006</td><td>SC_REQ_CONNECTION</td></tr>\r
- <tr><td>content-type</td><td>0xA007</td><td>SC_REQ_CONTENT_TYPE</td>\r
- </tr>\r
- <tr><td>content-length</td><td>0xA008</td><td>SC_REQ_CONTENT_LENGTH</td>\r
- </tr>\r
- <tr><td>cookie</td><td>0xA009</td><td>SC_REQ_COOKIE</td></tr>\r
- <tr><td>cookie2</td><td>0xA00A</td><td>SC_REQ_COOKIE2</td></tr>\r
- <tr><td>host</td><td>0xA00B</td><td>SC_REQ_HOST</td></tr>\r
- <tr><td>pragma</td><td>0xA00C</td><td>SC_REQ_PRAGMA</td></tr>\r
- <tr><td>referer</td><td>0xA00D</td><td>SC_REQ_REFERER</td></tr>\r
- <tr><td>user-agent</td><td>0xA00E</td><td>SC_REQ_USER_AGENT</td></tr>\r
- </table>\r
- <p>\e$B$3$l$rFI$_9~$`\e(B Java \e$B$N%3!<%I$G$O!":G=i$N\e(B 2 \e$B%P%$%H@0?t$r<h$j9~$_!"\e(B\r
- \e$BL\0u$K$J$k%P%$%H\e(B <code>'0xA0'</code> \e$B$G$"$l$P!"%X%C%@L>$NG[Ns$N\e(B\r
- \e$B%$%s%G%C%/%9$r;H$$$^$9!#@hF,%P%$%H$,\e(B <code>0xA0</code> \e$B$G$J$$>l9g$O!"\e(B\r
- \e$B@hF,\e(B 2 \e$B%P%$%H$OJ8;zNsD9$rI=$9@0?t$G$"$k$H2r<a$7!"FI$_9~$_$O$8$a$^$9!#\e(B</p>\r
- <p>\e$B%X%C%@L>$ND9$5$O\e(B <code>0x9999 (==0xA000 -1)</code> \e$B0J>e$K$J$i$J$$$H$$$&\e(B\r
- \e$B2>Dj$N2<$KF0$$$F$$$F!">/$7$"$$$^$$$G$9$,9gM}E*$J5sF0$K$J$C$F$$$^$9!#\e(B</p>\r
- <note><title>\e$BCm\e(B:</title>\r
- <code>content-length</code> \e$B%X%C%@$O$H$F$b=EMW$G$9!#\e(B\r
- \e$BB8:_$7$F$$$FHs%<%m$G$"$l$P!"%j%/%(%9%H$K$O%\%G%#$,$"$k\e(B (\e$BNc$($P\e(B POST \r
- \e$B%j%/%(%9%H\e(B) \e$B$H?dB,$7!"$=$N%\%G%#$r<h$j9~$`$?$a$K\e(B\r
- \e$BD>8e$N%Q%1%C%H$rF~NO%9%H%j!<%`$+$iFI$_9~$_$O$8$a$^$9!#\e(B\r
- </note>\r
- </section>\r
- <section><title>\e$BB0@-\e(B</title>\r
- <p><code>?</code> \e$B%W%l%U%#%C%/%9$G;O$^$kB0@-\e(B (\e$BNc\e(B <code>?context</code>)\r
- \e$B$O!#>JN,2DG=$G$9!#$=$l$>$lB0@-$N7?$r<($9\e(B 1 \e$B%P%$%H$N%3!<%I$H!"\e(B\r
- \e$BCM$NJ8;zNs$,B3$-$^$9!#\e(B\r
- \e$B$3$l$i$O=gITF1$GAw$k$3$H$,$G$-$^$9\e(B (C \e$B$N%3!<%I$O>o$K2<$N0lMw=g$K\e(B\r
- \e$BAw$k$h$&$G$9$,\e(B) \e$B!#\e(B\r
- \e$B%*%W%7%g%s$NB0@-$N%j%9%H$N:G8e$K$O!"FCJL$J=*N;%3!<%I$,Aw$i$l$^$9!#\e(B\r
- \e$B%3!<%I$N0lMw$O\e(B : </p>\r
- <table>\r
- <tr><td>Information</td><td>Code Value</td><td>Note</td></tr>\r
- <tr><td>?context</td><td>0x01</td><td>\e$BL$<BAu\e(B\r
- </td></tr>\r
- <tr><td>?servlet_path</td><td>0x02</td><td>\e$BL$<BAu\e(B\r
- </td></tr>\r
- <tr><td>?remote_user</td><td>0x03</td><td></td></tr>\r
- <tr><td>?auth_type</td><td>0x04</td><td></td></tr>\r
- <tr><td>?query_string</td><td>0x05</td><td></td></tr>\r
- <tr><td>?jvm_route</td><td>0x06</td><td></td></tr>\r
- <tr><td>?ssl_cert</td><td>0x07</td><td></td></tr>\r
- <tr><td>?ssl_cipher</td><td>0x08</td><td></td></tr>\r
- <tr><td>?ssl_session</td><td>0x09</td><td></td></tr>\r
- <tr><td>?req_attribute</td><td>0x0A</td><td>Name (the name of the\r
- attribute follows)</td></tr>\r
- <tr><td>?ssl_key_size</td><td>0x0B</td><td></td></tr>\r
- <tr><td>are_done</td><td>0xFF</td><td>request_terminator</td></tr>\r
- </table>\r
- <p><code>context</code> \e$B$H\e(B <code>servlet_path</code> \e$B$O8=:_$N\e(B C \e$B$N\e(B\r
- \e$B%3!<%I$G$O%;%C%H$5$l$F$$$^$;$s!#$^$?!"$[$H$s$I$N\e(B Java \e$B$N%3!<%I$G$b!"\e(B\r
- \e$B$3$N%U%#!<%k%I$G2?$,Aw$i$l$F$bL5;k$5$l$^$9\e(B (\e$B$3$l$i$N%3!<%I$N8e$KJ8;zNs$,\e(B\r
- \e$BAw$i$l$k$H2u$l$k$b$N$b$"$j$^$9\e(B)\e$B!#\e(B\r
- \e$B$3$l$,%P%0$J$N$+!"C1$KL$<BAu$J$N$+!"Nr;KE*7P0^$G;D$C$F$$$k%3!<%I$J$N$+\e(B\r
- \e$BJ,$+$j$^$;$s$,!"%3%M%/%7%g%s$NN>B&$H$b$G8+Ev$?$j$^$;$s!#\e(B</p>\r
- <p><code>remote_user</code> \e$B$H\e(B <code>auth_type</code> \e$B$O$*$=$i$/\e(B\r
- HTTP \e$B%l%Y%k$NG'>Z$r;2>H$7$F$$$F!"%j%b!<%H%f!<%6$N%f!<%6L>$HG'>Z$K;HMQ$7$?\e(B\r
- \e$B%?%$%W\e(B (\e$BNc\e(B Basic, Digest) \e$B$K$D$$$F$d$j<h$j$7$^$9!#\e(B</p>\r
- <p><code>query_string</code>, <code>ssl_cert</code>, \r
- <code>ssl_cipher</code>, <code>ssl_session</code> \r
- \e$B$O\e(B HTTP \e$B$H\e(B HTTPS \e$B$NBP1~$9$kItJ,$r;2>H$7$^$9!#\e(B</p>\r
- <p><code>jvm_route</code> \e$B$O%9%F%#%C%-!<%;%C%7%g%s$N%5%]!<%H!=!=\e(B\r
- \e$B%m!<%I%P%i%s%9$7$F$$$kJ#?t$N%5!<%PCf$NFCDj$N\e(B Tomcat \e$B%$%s%9%?%s%9$H!"\e(B\r
- \e$B%f!<%6$N%;%C%7%g%s$H$rI3IU$1$k5!G=!=!=$K;H$o$l$^$9!#\e(B</p>\r
- <p>\e$B$3$N4pK\B0@-0lMw$KL5$$$b$N$K$D$$$F$O!"\e(B<code>req_attribute</code>\r
- \e$B%3!<%I\e(B <code>0x0A</code> \e$B7PM3$GB0@-$r2?8D$G$bAw$k$3$H$,$G$-$^$9!#\e(B\r
- \e$BB0@-$NL>A0$HCM$NJ8;zNs$NAH$r!"$=$l$>$l$3$N%3!<%I$ND>8e$KAw$j$^$9!#\e(B\r
- \e$B4D6-JQ?t$O$3$NJ}K!$GEA$($i$l$^$9!#\e(B</p>\r
- <p>\e$B:G8e$KB0@-$,A4$FAw?.$5$l$?8e$K!"B0@-$N=*C<$r<($9\e(B <code>0xFF</code> \r
- \e$B$,Aw=P$5$l$^$9!#$3$N?.9f$OB0@-$N0lMw$N=*$o$j$r<($9$HF1;~$K!"%j%/%(%9%H\e(B\r
- \e$B%Q%1%C%H$N=*C<$r$b<($7$F$$$^$9!#\e(B</p>\r
- </section>\r
-</section>\r
-\r
-<section id="resppacketstruct"><title>\e$B%l%9%]%s%9%Q%1%C%H9=B$\e(B</title>\r
- <p>\e$B%3%s%F%J$,%5!<%P$KAw$jJV$9$3$H$N$G$-$k%a%C%;!<%8\e(B:</p>\r
- <example><pre>\r
-AJP13_SEND_BODY_CHUNK :=\r
- prefix_code 3\r
- chunk_length (integer)\r
- chunk *(byte)\r
-\r
-\r
-AJP13_SEND_HEADERS :=\r
- prefix_code 4\r
- http_status_code (integer)\r
- http_status_msg (string)\r
- num_headers (integer)\r
- response_headers *(res_header_name header_value)\r
-\r
-res_header_name :=\r
- sc_res_header_name | (string) [see below for how this is parsed]\r
-\r
-sc_res_header_name := 0xA0 (byte)\r
-\r
-header_value := (string)\r
-\r
-AJP13_END_RESPONSE :=\r
- prefix_code 5\r
- reuse (boolean)\r
-\r
-\r
-AJP13_GET_BODY_CHUNK :=\r
- prefix_code 6\r
- requested_length (integer)\r
- </pre></example>\r
- <section><title>\e$B>\:Y\e(B :</title></section>\r
- <section><title>Send Body Chunk</title>\r
- <p>\e$B%A%c%s%/$O4pK\E*$K$O%P%$%J%j%G!<%?$G!"%V%i%&%6$KD>@\Aw$i$l$^$9!#\e(B</p>\r
- </section>\r
- <section><title>Send Headers</title>\r
- <p>\e$B%9%F!<%?%9%3!<%I$H%a%C%;!<%8$,DL>o$N\e(B HTTP \e$B$NDL?.$K$O$"$j$^$9\e(B (\e$BNc\e(B \r
- <code>200</code> \e$B$H\e(B <code>OK</code>)\e$B!#%l%9%]%s%9%X%C%@L>$O!"\e(B\r
- \e$B%j%/%(%9%H%X%C%@L>$HF1MM$NJ}K!$G%(%s%3!<%I$5$l$^$9!#\e(B\r
- \e$B%3!<%I$HJ8;zNs$NH=JLJ}K!$N>\:Y$K4X$7$F$O!">e5-$N\e(B header_encoding \r
- \e$B$r;2>H$7$F$/$@$5$$!#\e(B\r
- \e$B0lHLE*$J%X%C%@$N%3!<%I$O\e(B :</p>\r
- <table>\r
- <tr><td>\e$BL>A0\e(B</td><td>\e$B%3!<%I$NCM\e(B</td></tr>\r
- <tr><td>Content-Type</td><td>0xA001</td></tr>\r
- <tr><td>Content-Language</td><td>0xA002</td></tr>\r
- <tr><td>Content-Length</td><td>0xA003</td></tr>\r
- <tr><td>Date</td><td>0xA004</td></tr>\r
- <tr><td>Last-Modified</td><td>0xA005</td></tr>\r
- <tr><td>Location</td><td>0xA006</td></tr>\r
- <tr><td>Set-Cookie</td><td>0xA007</td></tr>\r
- <tr><td>Set-Cookie2</td><td>0xA008</td></tr>\r
- <tr><td>Servlet-Engine</td><td>0xA009</td></tr>\r
- <tr><td>Status</td><td>0xA00A</td></tr>\r
- <tr><td>WWW-Authenticate</td><td>0xA00B</td></tr>\r
- </table>\r
- <p>\e$B%3!<%I$+%X%C%@J8;zNs$ND>8e$K$O!"%X%C%@$NCM$,%(%s%3!<%I$5$l$^$9!#\e(B</p>\r
- </section>\r
- <section><title>End Response</title>\r
- <p>\e$B%j%/%(%9%H=hM}%5%$%/%k$N=*N;$rCN$i$;$^$9!#\e(B<code>reuse</code> \e$B%U%i%0$,??\e(B\r
- <code>(==1)</code> \e$B$N>l9g!"8=:_;HMQ$7$F$$$k\e(B TCP \e$B%3%M%/%7%g%s$O<!$N?7$7$$\e(B\r
- \e$B%j%/%(%9%H$K;H$($k$h$&$K$J$j$^$9!#\e(B<code>reuse</code> \e$B$,56\e(B (C \e$B$N%3!<%I$G$O\e(B\r
- 1 \e$B0J30$NA4$F\e(B) \e$B$N>l9g$O!"%3%M%/%7%g%s$rJD$8$k$3$H$K$J$j$^$9!#\e(B</p>\r
- </section>\r
- <section><title>Get Body Chunk</title>\r
- <p>(\e$B%\%G%#$N%5%$%:$,Bg$-$9$.$F:G=i$N%Q%1%C%H$K<}$^$i$J$$>l9g$d!"\e(B\r
- \e$B%j%/%(%9%H$,%A%c%s%/E>Aw$5$l$?>l9g$J$I$K$O!"\e(B) \e$B%3%s%F%J$O%j%/%(%9%H$+$i$N\e(B\r
- \e$B%G!<%?FI$_9~$_MW5a$r$7$^$9!#%5!<%PB&$O$=$l$KBP$7$F!":G>.\e(B \r
- <code>request_length</code> \e$B:GBg\e(B <code>(8186 (8 Kbytes - 6))</code> \r
- \e$B$NHO0O$G!"L$E>Aw$G;D$C$F$$$k%j%/%(%9%H%\%G%#$NBg$-$5$N%G!<%?$r\e(B\r
- \e$BAw$jJV$7$^$9!#\e(B<br />\r
- \e$B%\%G%#$K$=$l0J>e%G!<%?$,;D$C$F$$$J$$>l9g\e(B (\e$B$D$^$j%5!<%V%l%C%H$,\e(B\r
- \e$B%\%G%#$N:G8e$rD6$($FFI$_9~$b$&$H$7$?>l9g\e(B) \e$B!"%5!<%P$O\e(B\r
- \e$B%Z%$%m!<%ID9\e(B 0 \e$B$N\e(B<em>\e$B6u%Q%1%C%H\e(B</em><code>(0x12,0x34,0x00,0x00)</code>\r
- \e$B$rAw$jJV$7$^$9!#\e(B</p>\r
- </section>\r
-</section>\r
-\r
-\r
-</modulesynopsis>\r
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
+<!-- English Revision: 105989 -->
+
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<modulesynopsis metafile="mod_proxy_ajp.xml.meta">
+
+<name>mod_proxy_ajp</name>
+<description><module>mod_proxy</module> \e$B$G\e(B AJP
+\e$B$r%5%]!<%H$9$k$?$a$N%b%8%e!<%k\e(B</description>
+<status>Extension</status>
+<sourcefile>proxy_ajp.c</sourcefile>
+<identifier>proxy_ajp_module</identifier>
+
+<summary>
+ <p>\e$BK\%b%8%e!<%k$K$O\e(B <module>mod_proxy</module> \e$B$,\e(B<em>\e$BI,MW$G$9\e(B</em>\e$B!#\e(B
+ <code>Apache JServ Protocol version 1.3</code> (\e$B0J9_\e(B <em>AJP13</em>)
+ \e$B$r%5%]!<%H$7$^$9!#\e(B</p>
+
+ <p><code>AJP13</code> \e$B%W%m%H%3%k$r07$($k$h$&$K$9$k$K$O\e(B
+ <module>mod_proxy</module> \e$B$H\e(B <module>mod_proxy_ajp</module>
+ \e$B$r%5!<%P$KAH$_9~$`I,MW$,$"$j$^$9!#\e(B</p>
+
+ <note type="warning"><title>\e$B7Y9p\e(B</title>
+ <p><a href="#access"
+ >\e$B0BA4$J%5!<%P$K$9$k\e(B</a>\e$B$^$G%W%m%/%75!G=$OM-8z$K$7$J$$$G$/$@$5$$!#\e(B
+ \e$B%*!<%W%s%W%m%-%7%5!<%P$O$"$J$?<+?H$N%M%C%H%o!<%/$K$H$C$F$b!"\e(B
+ \e$B%$%s%?!<%M%C%HA4BN$K$H$C$F$b4m81$G$9!#\e(B</p>
+ </note>
+</summary>
+
+<seealso><module>mod_proxy</module></seealso>
+
+<section id="overviewprotocol"><title>\e$B%W%m%H%3%k$N35MW\e(B</title>
+ <p><code>AJP13</code> \e$B%W%m%H%3%k$O%Q%1%C%H;X8~$G$9!#\e(B
+ \e$B2DFI$J%W%l!<%s%F%-%9%H7A<0$G$O$J$/%P%$%J%j7A<0$K$J$C$?$N$O!"\e(B
+ \e$B$*$=$i$/%Q%U%)!<%^%s%9>e$NM}M3$K$h$j$^$9!#\e(B
+ \e$B%&%'%V%5!<%P$O%5!<%V%l%C%H%3%s%F%J$H\e(B TCP \e$B%3%M%/%7%g%s$GDL?.$7$^$9!#\e(B
+ \e$B%=%1%C%H@8@.$O=E$$=hM}$J$N$G!"Ii2Y$r8:$i$9$?$a$K!"%5!<%V%l%C%H%3%s%F%J$H$N\e(B
+ TCP \e$B@\B3$r0];}$7!"J#?t$N%j%/%(%9%H!&%l%9%]%s%9=hM}%5%$%/%k$KBP$7$F0l$D$N\e(B
+ \e$B%3%M%/%7%g%s$r;H$$$^$o$9$h$&$K$J$C$F$$$^$9!#\e(B</p>
+ <p>\e$B$"$k%j%/%(%9%H$K%3%M%/%7%g%s$,3d$jEv$F$i$l$k$H!"$=$N=hM}%5%$%/%k$,\e(B
+ \e$B40N;$9$k$^$GB>$N$b$N$K;H$o$l$k$3$H$O$"$j$^$;$s!#\e(B
+ \e$B$D$^$j%3%M%/%7%g%s>e$G$O!"%j%/%(%9%H$NF1;~=hM}$O9T$o$l$^$;$s!#\e(B
+ \e$B$3$N$?$a!"%3%M%/%7%g%sN>C<$G$N<B9T$9$k%3!<%I$r4J7i$K$G$-$k0lJ}$G!"\e(B
+ \e$BF1;~$K3+$/%3%M%/%7%g%s$OB?$/$J$C$F$$$^$9!#\e(B</p>
+ <p>\e$B%5!<%V%l%C%H%3%s%F%J$X$N%3%M%/%7%g%s$r3+$$$?8e$O!"%3%M%/%7%g%s$N>uBV$O\e(B
+ \e$B<!$N$I$l$+$K$J$j$^$9\e(B:</p>
+ <ul>
+ <li> Idle <br />\e$B%3%M%/%7%g%s>e$G=hM}$5$l$F$$$k%j%/%(%9%H$O$"$j$^$;$s!#\e(B</li>
+ <li> Assigned <br />\e$B%3%M%/%7%g%s$O%j%/%(%9%H$r=hM}Cf$G$9!#\e(B</li>
+ </ul>
+ <p>\e$B%3%M%/%7%g%s$,FCDj$N%j%/%(%9%H$K%"%5%$%s$5$l$k$H!"4pK\E*$J>pJs\e(B (\e$BNc$($P\e(B
+ HTTP \e$B%X%C%@Ey\e(B) \e$B$,05=L$5$l$?7A\e(B (\e$BNc$($PDL>o$NJ8;zNs$O@0?t$K%(%s%3!<%I$5$l$^$9\e(B)
+ \e$B$GE>Aw$5$l$^$9!#>\:Y$O2<5-$N!V%j%/%(%9%H%Q%1%C%H$N9=B$!W$r;2>H$7$F$/$@$5$$!#\e(B
+ \e$B%j%/%(%9%H$K%\%G%#$,B8:_\e(B <code>(content-length > 0)</code> \e$B$9$l$P!"\e(B
+ \e$B4pK\E*$J>pJs$ND>8e$KJL%Q%1%C%H$GE>Aw$5$l$^$9!#\e(B</p>
+ <p>\e$B$3$N;~E@$G$*$=$i$/!"%5!<%V%l%C%H%3%s%F%J$O=hM}$r3+;O$G$-$k$h$&$K$J$j$^$9!#\e(B
+ \e$B$G$9$N$G!"<!$N%a%C%;!<%8$r%&%'%V%5!<%P$KLa$7$FCN$i$;$i$l$k$h$&$K$J$j$^$9!#\e(B</p>
+ <ul>
+ <li>SEND_HEADERS <br/>\e$B%V%i%&%6$K%X%C%@$rAw?.$7$^$9!#\e(B</li>
+ <li>SEND_BODY_CHUNK <br/>\e$B%V%i%&%6$K%\%G%#%G!<%?$N%A%c%s%/$rAw$j$^$9!#\e(B
+ </li>
+ <li>GET_BODY_CHUNK <br/>\e$B%j%/%(%9%H$N%G!<%?$rA4$F<u$1<h$j=*$o$C$F$$$J$$$H$-$K!"\e(B
+ \e$B;D$C$F$$$k%G!<%?$r<u$1<h$j$^$9!#%Q%1%C%H$K$"$kDj$^$C$?:GBgD9$,$"$j!"G$0U$N\e(B
+ \e$BBg$-$5$N%G!<%?$,%j%/%(%9%H$N%\%G%#$H$7$F4^$^$l$&$k>l9g\e(B
+ (\e$BNc$($P%U%!%$%k$N%"%C%W%m!<%I$N>l9g\e(B) \e$B$KI,MW$H$J$j$^$9!#\e(B
+ (\e$BCm\e(B: HTTP \e$B$N%A%c%s%/E>Aw$H$O4XO"$"$j$^$;$s!#\e(B)</li>
+ <li>END_RESPONSE <br/>\e$B%j%/%(%9%H=hM}%5%$%/%k$r=*N;$7$^$9!#\e(B</li>
+ </ul>
+ <p>\e$B8D!9$N%a%C%;!<%8$O$=$l$>$l0[$J$k%G!<%?%Q%1%C%H7A<0$K$J$C$F$$$^$9!#\e(B
+ \e$B8e=R$N!V%l%9%]%s%9%Q%1%C%H$N9=B$!W$r;2>H$7$F$/$@$5$$!#\e(B</p>
+</section>
+
+<section id="basppacketstruct"><title>\e$B4pK\%Q%1%C%H9=B$\e(B</title>
+ <p>\e$B$3$N%W%m%H%3%k$K$O\e(B XDR \e$B$+$i<u$17Q$$$@ItJ,$,>/$7$"$j$^$9$,!"B?$/$NE@$G\e(B
+ \e$B0[$J$j$^$9\e(B (\e$BNc$($P\e(B 4 \e$B%P%$%H%"%i%$%a%s%H$G$J$$$3$H$J$I\e(B) \e$B!#\e(B</p>
+ <p>\e$B%P%$%H%*!<%@!<\e(B: \e$B8D!9$N%P%$%H$N%(%s%G%#%"%s$,$I$&$J$C$F$$$k$+$O!"\e(B
+ \e$B;d$O>\$7$/$J$$$N$G$9$,!"%j%H%k%(%s%G%#%"%s$K$J$C$F$$$k$H;W$$$^$9!#\e(B
+ XDR \e$B;EMM$G$=$&$J$C$F$$$k$N$H!"AG@2$i$7$$$3$H$K\e(B sys/socket \e$B%i%$%V%i%j$,\e(B
+ (C \e$B$G\e(B) \e$B$=$&$$$&Iw$K$G$-$F$$$k$N$G$=$&$J$N$@$H;W$$$^$7$?!#\e(B
+ \e$B%=%1%C%H8F$S=P$7$NFbIt$K$D$$$F$h$j>\$7$$J}$,$$$i$C$7$c$$$^$7$?$i!"\e(B
+ \e$B$465<x$/$@$5$$!#\e(B</p>
+ <p>\e$B%W%m%H%3%k$K$O\e(B 4 \e$B$D$N%G!<%?%?%$%W$,$"$j$^$9\e(B: byte, boolean,
+ integer, string \e$B$G$9!#\e(B</p>
+ <dl>
+ <dt><strong>Byte</strong></dt><dd>\e$B%P%$%H0l$D$G$9!#\e(B</dd>
+ <dt><strong>Boolean</strong></dt>
+ <dd>\e$B%P%$%H0l$D$G!"\e(B<code>1 = true</code>, <code>0 = false</code> \e$B$G$9!#\e(B
+ (C \e$B$N$h$&$K\e(B) \e$BHsNm$r??$H$7$F07$C$F$7$^$&$H!"$"$k>l9g$OF0$/$+$b$7$l$^$;$s$7!"\e(B
+ \e$BF0$+$J$$$+$b$7$l$^$;$s!#\e(B</dd>
+ <dt><strong>Integer</strong></dt>
+ <dd><code>0 \e$B$+$i\e(B 2^16 (32768)</code> \e$B$NHO0O$N?t;z!#9b<!$N\e(B 2 \e$B%P%$%H$,\e(B
+ \e$B@h$K3JG<$5$l$^$9!#\e(B</dd>
+ <dt><strong>String</strong></dt>
+ <dd>\e$B2DJQD9$NJ8;zNs\e(B (2^16 \e$B$,D9$5$N>e8B\e(B) \e$B!#D9$5>pJs$N%Q%1%C%H\e(B 2 \e$B%P%$%H$N8e$K\e(B
+ \e$BJ8;zNs\e(B (\e$B=*C<J8;z\e(B '\0' \e$B$r4^$`\e(B) \e$B$,B3$/7A<0$G%(%s%3!<%I$5$l$^$9!#\e(B
+ \e$B%(%s%3!<%I$5$l$F$$$kD9$5>pJs$O:G8e$N\e(B '\0' \e$B$r\e(B<strong>\e$B%+%&%s%H$7$J$$\e(B</strong>
+ \e$B$3$H$KCm0U$7$F$/$@$5$$!=!=$3$l$O\e(B <code>strlen</code> \e$B$HF1MM$G$9!#\e(B
+ \e$B$3$l$i$N=*C<J8;z$r%9%-%C%W$9$k$?$a$K!"$"$^$j0UL#$NL5$$%$%s%/%j%a%s%HJ8\e(B
+ \e$B$r$?$/$5$s=q$+$J$$$H$$$1$J$$$N$O!"\e(B
+ Java \e$B$NB&$+$i8+$k$H>/$7J6$i$o$7$/46$8$i$l$k$+$b$7$l$^$;$s!#\e(B
+ \e$B$3$&$J$C$?M}M3$O$*$=$i$/!"\e(BServlet \e$B%3%s%F%J$+$iJV$5$l$kJ8;zNs$rFI$_=P$9;~$K!"\e(B
+ \e$B8zN($h$/\e(B C \e$B$N%3!<%I$r=q$1$k$h$&$K$9$k!=!=%5!<%V%l%C%H$+$iJV$5$l$k\e(B
+ \e$BJ8;zNs$O\e(B \0 \e$BJ8;z$G=*C<$5$l$F$$$k$N$G!"\e(BC \e$B$N%3!<%I$G$O$o$6$o$6%3%T!<$r$;$:$K!"\e(B
+ \e$B0l$D$N%P%C%U%!$X$N%j%U%!%l%s%9$r<h$j2s$9$h$&$K=q$/$3$H$,$G$-$k!=!=\e(B
+ \e$B$?$a$@$H;W$o$l$^$9!#\e(B
+ '\0' \e$BJ8;z$,$J$$>l9g$O!"\e(BC \e$B$G$OJ8;zNs$N5,B'$K9g$&$h$&$K%3%T!<$7$J$1$l$P\e(B
+ \e$B$$$1$J$/$J$C$F$7$^$$$^$9!#\e(B</dd>
+ </dl>
+
+ <section><title>\e$B%Q%1%C%H%5%$%:\e(B</title>
+ <p>\e$BB?$/$N%3!<%I$G$=$&$J$C$F$$$k$N$G$9$,!"%Q%1%C%H%5%$%:$N:GBg%5%$%:$O\e(B
+ <code>8 * 1024 (8K)</code> \e$B$G$9!#%Q%1%C%H$N<B:]$ND9$5$O%X%C%@$K\e(B
+ \e$B%(%s%3!<%I$5$l$FF~$C$F$$$^$9!#\e(B</p>
+ </section>
+ <section><title>\e$B%Q%1%C%H%X%C%@\e(B</title>
+ <p>\e$B%5!<%P$+$i%3%s%F%J$KAw=P$5$l$k%Q%1%C%H$O\e(B <code>0x1234</code> \e$B$G;O$^$j$^$9!#\e(B
+ \e$B%3%s%F%J$+$i%5!<%P$KAw$i$l$k%Q%1%C%H$O\e(B <code>AB</code> (ASCII \e$B%3!<%I\e(B A \e$B$H\e(B
+ ASCII \e$B%3!<%I\e(B B) \e$B$G;O$^$j$^$9!#$3$NFs%P%$%H$N8e$K!"%Z%$%m!<%ID9$,\e(B (\e$B>e5-$N7A<0$G\e(B)
+ \e$BB3$-$^$9!#$3$N$?$a!"%Z%$%m!<%ID9$N:GBgCM$O\e(B 2^16 \e$B$K$G$-$k$h$&$K;W$($^$9$,!"\e(B
+ \e$B<B:]$K$O%3!<%I$G$O:GBgCM$O\e(B 8K \e$B$K@_Dj$5$l$F$$$^$9!#\e(B</p>
+ <table>
+ <tr>
+ <td colspan="6"><em>\e$B%Q%1%C%H7A<0\e(B (Server->Container)</em></td>
+ </tr>
+ <tr>
+ <td>Byte</td>
+ <td>0</td>
+ <td>1</td>
+ <td>2</td>
+ <td>3</td>
+ <td>4...(n+3)</td>
+ </tr>
+ <tr>
+ <td>Contents</td>
+ <td>0x12</td>
+ <td>0x34</td>
+ <td colspan="2">\e$B%G!<%?D9\e(B (n)</td>
+ <td>Data</td>
+ </tr>
+ </table>
+ <table>
+ <tr>
+ <td colspan="6"><em>\e$B%Q%1%C%H7A<0\e(B (Container->Server)</em></td>
+ </tr>
+ <tr>
+ <td>Byte</td>
+ <td>0</td>
+ <td>1</td>
+ <td>2</td>
+ <td>3</td>
+ <td>4...(n+3)</td>
+ </tr>
+ <tr>
+ <td>Contents</td>
+ <td>A</td>
+ <td>B</td>
+ <td colspan="2">\e$B%G!<%?D9\e(B (n)</td>
+ <td>Data</td>
+ </tr>
+ </table>
+ <p>\e$B$[$H$s$I$N%Q%1%C%H$G!"%Z%$%m!<%I$N:G=i$N%P%$%H$,%a%C%;!<%8$N7?$r%(%s%3!<%I\e(B
+ \e$B$7$F$$$^$9!#Nc30$O%5!<%P$+$i%3%s%F%J$KAw$i$l$k%j%/%(%9%H%\%G%#%Q%1%C%H$G$9\e(B
+ \e$B!=!=$3$l$i$OI8=`E*$J%Q%1%C%H7A<0\e(B (<code>0x1234</code> \e$B$H%Q%1%C%HD9\e(B)
+ \e$B$G$9$,!"$=$N8e$KB3$/%W%l%U%#%C%/%9%3!<%I$,$"$j$^$;$s!#\e(B</p>
+ <p>\e$B%&%'%V%5!<%P$O<!$N%a%C%;!<%8$r%5!<%V%l%C%H%3%s%F%J$KAw=P$G$-$^$9!#\e(B</p>
+ <table>
+ <tr>
+ <td>\e$B%3!<%I\e(B</td>
+ <td>\e$B%Q%1%C%H$N7?\e(B</td>
+ <td>\e$B0UL#\e(B</td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td>Forward Request</td>
+ <td>\e$B%j%/%(%9%H=hM}%5%$%/%k$r8eB3$N%G!<%?$H$H$b$K3+;O$9$k!#\e(B</td>
+ </tr>
+ <tr>
+ <td>7</td>
+ <td>Shutdown</td>
+ <td>\e$B%&%'%V%5!<%P$,%3%s%F%J$K!"%3%s%F%J$r=*N;$9$k$h$&$KEA$($k!#\e(B</td>
+ </tr>
+ <tr>
+ <td>8</td>
+ <td>Ping</td>
+ <td>\e$B%&%'%V%5!<%P$,%3%s%F%J$K@)8f$r<u$1;}$D$h$&$KEA$($k\e(B
+ (\e$B%;%-%e%"%m%0%$%s%U%'!<%:\e(B) \e$B!#\e(B</td>
+ </tr>
+ <tr>
+ <td>10</td>
+ <td>CPing</td>
+ <td>\e$B%&%'%V%5!<%P$,%3%s%F%J$K\e(B CPong \e$B$GB(:B$K1~Ez$9$k$h$&$KEA$($k!#\e(B</td>
+ </tr>
+ <tr>
+ <td>none</td>
+ <td>Data</td>
+ <td>\e$B%5%$%:\e(B (2 \e$B%P%$%H\e(B) \e$B$H$=$l$KB3$/%\%G%#%G!<%?!#\e(B</td>
+ </tr>
+ </table>
+ <p>\e$B4pK\E*$J%;%-%e%j%F%#$r3NJ]$9$k$?$a!"%[%9%H$5$l$F$$$k%^%7%s$HF10l$N\e(B
+ \e$B%^%7%s$+$i$N%j%/%(%9%H$KBP$7$F$N$_!"%3%s%F%J$O<B:]$K\e(B <code>Shutdown</code>
+ \e$B$r<B9T$7$^$9!#\e(B</p>
+ <p>\e$B:G=i$N\e(B <code>Data</code> \e$B%Q%1%C%H$O!"\e(B<code>Forward Request</code>
+ \e$B$ND>8e$K%&%'%V%5!<%P$+$iAw$i$l$^$9!#\e(B</p>
+ <p>\e$B%5!<%V%l%C%H%3%s%F%J$O%&%'%V%5!<%P$K!"<!$N%?%$%W$N%a%C%;!<%8$rAw$k$3$H$,\e(B
+ \e$B$G$-$^$9\e(B :</p>
+ <table>
+ <tr>
+ <td>\e$B%3!<%I\e(B</td>
+ <td>\e$B%Q%1%C%H$N7?\e(B</td>
+ <td>\e$B0UL#\e(B</td>
+ </tr>
+ <tr>
+ <td>3</td>
+ <td>Send Body Chunk</td>
+ <td>\e$B%5!<%V%l%C%H%3%s%F%J$+$i%&%'%V%5!<%P$K\e(B
+ (\e$B$=$7$F$*$=$i$/$=$N$^$^%V%i%&%6$K\e(B)\e$B!"%\%G%#$N%A%c%s%/$rAw$k!#\e(B</td>
+ </tr>
+ <tr>
+ <td>4</td>
+ <td>Send Headers</td>
+ <td>\e$B%5!<%V%l%C%H%3%s%F%J$+$i%&%'%V%5!<%P$K\e(B (\e$B$=$7$F$*$=$i$/$=$N$^$^%V%i%&%6$K\e(B)
+ \e$B%l%9%]%s%9%X%C%@$rAw$k!#\e(B</td>
+ </tr>
+ <tr>
+ <td>5</td>
+ <td>End Response</td>
+ <td>\e$B%l%9%]%s%9\e(B (\e$B$D$^$j%j%/%(%9%H=hM}%5%$%/%k\e(B) \e$B=*N;$NL\0u$rAw$k!#\e(B
+ </td>
+ </tr>
+ <tr>
+ <td>6</td>
+ <td>Get Body Chunk</td>
+ <td>\e$B$^$@A4$FE>Aw$5$l$F$$$J$$>l9g!";D$C$F$$$k%j%/%(%9%H$N%G!<%?$r<u$1<h$k!#\e(B
+ </td>
+ </tr>
+ <tr>
+ <td>9</td>
+ <td>CPong \e$B1~Ez\e(B</td>
+ <td>CPing \e$B%j%/%(%9%H$K1~Ez$9$k!#\e(B</td>
+ </tr>
+ </table>
+ <p>\e$B>e5-%a%C%;!<%8$O!"$=$l$>$lFbIt9=B$$,0[$J$C$F$$$^$9!#>\:Y$O2<5-$r$4Mw$/$@$5$$!#\e(B
+ </p>
+ </section>
+</section>
+<section id="rpacetstruct"><title>\e$B%j%/%(%9%H%Q%1%C%H9=B$\e(B</title>
+ <p>\e$B%5!<%P$+$i%3%s%F%J$XAw$i$l$k%a%C%;!<%8$,\e(B
+ <em>Forward Request</em> \e$B7?$N>l9g\e(B :</p>
+ <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></example>
+ <p><code>request_headers</code> \e$B$O<!$N$h$&$J9=B$$K$J$C$F$$$^$9\e(B :
+ </p><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></example>
+ <p><code>\e$BB0@-\e(B</code> \e$B$O%*%W%7%g%s$G!"<!$N$h$&$J9=B$$r$7$F$$$^$9\e(B :</p>
+ <example><pre>
+attribute_name := sc_a_name | (sc_a_req_attribute string)
+
+attribute_value := (string)
+
+ </pre></example>
+ <p>\e$B$b$C$H$b=EMW$J%X%C%@$O\e(B <code>content-length</code> \e$B$@$H$$$&$3$H$K\e(B
+ \e$BCm0U$7$F$/$@$5$$!#%3%s%F%J$O<!$N%Q%1%C%H$rC5$9$+$I$&$+$r!"\e(B
+ \e$B$=$l$r8+$F7h$a$k$+$i$G$9!#\e(B</p>
+ <section><title>Forward Request \e$BMWAG$N>\:Y$J@bL@\e(B
+ </title></section>
+ <section><title>Request prefix</title>
+ <p>\e$B%j%/%(%9%H$K$D$$$F$OA4$F!"$3$NCM$O\e(B 2 \e$B$K$J$j$^$9!#B>$N\e(B Prefix \e$B%3!<%I$N>\:Y$O\e(B
+ \e$B>e5-$r$4Mw$/$@$5$$!#\e(B</p>
+ </section>
+ <section><title>Method</title>
+ <p>HTTP \e$B%a%=%C%I$O\e(B 1 \e$B%P%$%H$K%(%s%3!<%I$5$l$^$9\e(B :</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>\e$B:#8e$N\e(B ajp13 \e$B%P!<%8%g%s$G$O!"$3$N0lMw$K$J$$!":#8eDI2C$5$l$k%a%=%C%I$r\e(B
+ \e$BAw$k$+$b$7$l$^$;$s!#\e(B</p>
+ </section>
+ <section><title>protocol, req_uri, remote_addr, remote_host, server_name,
+ server_port, is_ssl</title>
+ <p>\e$B$3$l$i$O$^$5$KJ8;zDL$j$N$b$N$G$9!#$I$l$bI,MW$G!"%j%/%(%9%H$NKh2s$K$D$-\e(B
+ \e$BAw$i$l$^$9!#\e(B</p>
+ </section>
+ <section><title>Headers</title>
+ <p><code>request_headers</code> \e$B$N9=B$$O<!$N$h$&$J$b$N$G$9\e(B :
+ \e$B$^$:%X%C%@$N?t\e(B <code>num_headers</code> \e$B$,%(%s%3!<%I$5$l$^$9!#\e(B
+ \e$B<!$K%X%C%@L>\e(B <code>req_header_name</code> / \e$BCM\e(B <code>req_header_value</code>
+ \e$B$NAH$,B3$-$^$9!#8zN($N$?$a!"0lHLE*$J%X%C%@$O@0?t$G%(%s%3!<%I$7$FE>Aw$7$^$9!#\e(B
+ \e$B%X%C%@L>$,4pK\%X%C%@$N0lMw$KL5$$>l9g$O!"DL>oDL$j\e(B (\e$BJ8;zNs$H$7$F!"D9$5\e(B
+ \e$B%W%l%U%#%C%/%9IU$-$G\e(B) \e$BE>Aw$5$l$^$9!#0lHLE*$J%X%C%@\e(B
+ <code>sc_req_header_name</code> \e$B$N0lMw$H$=$N%3!<%I$O<!$NDL$j$G$9\e(B
+ (\e$B$I$l$bBgJ8;z>.J8;z$r6hJL$7$^$9\e(B) :</p>
+ <table>
+ <tr><td>\e$BL>A0\e(B</td><td>\e$B%3!<%I$NCM\e(B</td><td>\e$B%3!<%IL>\e(B</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>\e$B$3$l$rFI$_9~$`\e(B Java \e$B$N%3!<%I$G$O!":G=i$N\e(B 2 \e$B%P%$%H@0?t$r<h$j9~$_!"\e(B
+ \e$BL\0u$K$J$k%P%$%H\e(B <code>'0xA0'</code> \e$B$G$"$l$P!"%X%C%@L>$NG[Ns$N\e(B
+ \e$B%$%s%G%C%/%9$r;H$$$^$9!#@hF,%P%$%H$,\e(B <code>0xA0</code> \e$B$G$J$$>l9g$O!"\e(B
+ \e$B@hF,\e(B 2 \e$B%P%$%H$OJ8;zNsD9$rI=$9@0?t$G$"$k$H2r<a$7!"FI$_9~$_$O$8$a$^$9!#\e(B</p>
+ <p>\e$B%X%C%@L>$ND9$5$O\e(B <code>0x9999 (==0xA000 -1)</code> \e$B0J>e$K$J$i$J$$$H$$$&\e(B
+ \e$B2>Dj$N2<$KF0$$$F$$$F!">/$7$"$$$^$$$G$9$,9gM}E*$J5sF0$K$J$C$F$$$^$9!#\e(B</p>
+ <note><title>\e$BCm\e(B:</title>
+ <code>content-length</code> \e$B%X%C%@$O$H$F$b=EMW$G$9!#\e(B
+ \e$BB8:_$7$F$$$FHs%<%m$G$"$l$P!"%j%/%(%9%H$K$O%\%G%#$,$"$k\e(B (\e$BNc$($P\e(B POST
+ \e$B%j%/%(%9%H\e(B) \e$B$H?dB,$7!"$=$N%\%G%#$r<h$j9~$`$?$a$K\e(B
+ \e$BD>8e$N%Q%1%C%H$rF~NO%9%H%j!<%`$+$iFI$_9~$_$O$8$a$^$9!#\e(B
+ </note>
+ </section>
+ <section><title>\e$BB0@-\e(B</title>
+ <p><code>?</code> \e$B%W%l%U%#%C%/%9$G;O$^$kB0@-\e(B (\e$BNc\e(B <code>?context</code>)
+ \e$B$O!#>JN,2DG=$G$9!#$=$l$>$lB0@-$N7?$r<($9\e(B 1 \e$B%P%$%H$N%3!<%I$H!"\e(B
+ \e$BCM$NJ8;zNs$,B3$-$^$9!#\e(B
+ \e$B$3$l$i$O=gITF1$GAw$k$3$H$,$G$-$^$9\e(B (C \e$B$N%3!<%I$O>o$K2<$N0lMw=g$K\e(B
+ \e$BAw$k$h$&$G$9$,\e(B) \e$B!#\e(B
+ \e$B%*%W%7%g%s$NB0@-$N%j%9%H$N:G8e$K$O!"FCJL$J=*N;%3!<%I$,Aw$i$l$^$9!#\e(B
+ \e$B%3!<%I$N0lMw$O\e(B : </p>
+ <table>
+ <tr><td>Information</td><td>Code Value</td><td>Note</td></tr>
+ <tr><td>?context</td><td>0x01</td><td>\e$BL$<BAu\e(B
+ </td></tr>
+ <tr><td>?servlet_path</td><td>0x02</td><td>\e$BL$<BAu\e(B
+ </td></tr>
+ <tr><td>?remote_user</td><td>0x03</td><td></td></tr>
+ <tr><td>?auth_type</td><td>0x04</td><td></td></tr>
+ <tr><td>?query_string</td><td>0x05</td><td></td></tr>
+ <tr><td>?jvm_route</td><td>0x06</td><td></td></tr>
+ <tr><td>?ssl_cert</td><td>0x07</td><td></td></tr>
+ <tr><td>?ssl_cipher</td><td>0x08</td><td></td></tr>
+ <tr><td>?ssl_session</td><td>0x09</td><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></td></tr>
+ <tr><td>are_done</td><td>0xFF</td><td>request_terminator</td></tr>
+ </table>
+ <p><code>context</code> \e$B$H\e(B <code>servlet_path</code> \e$B$O8=:_$N\e(B C \e$B$N\e(B
+ \e$B%3!<%I$G$O%;%C%H$5$l$F$$$^$;$s!#$^$?!"$[$H$s$I$N\e(B Java \e$B$N%3!<%I$G$b!"\e(B
+ \e$B$3$N%U%#!<%k%I$G2?$,Aw$i$l$F$bL5;k$5$l$^$9\e(B (\e$B$3$l$i$N%3!<%I$N8e$KJ8;zNs$,\e(B
+ \e$BAw$i$l$k$H2u$l$k$b$N$b$"$j$^$9\e(B)\e$B!#\e(B
+ \e$B$3$l$,%P%0$J$N$+!"C1$KL$<BAu$J$N$+!"Nr;KE*7P0^$G;D$C$F$$$k%3!<%I$J$N$+\e(B
+ \e$BJ,$+$j$^$;$s$,!"%3%M%/%7%g%s$NN>B&$H$b$G8+Ev$?$j$^$;$s!#\e(B</p>
+ <p><code>remote_user</code> \e$B$H\e(B <code>auth_type</code> \e$B$O$*$=$i$/\e(B
+ HTTP \e$B%l%Y%k$NG'>Z$r;2>H$7$F$$$F!"%j%b!<%H%f!<%6$N%f!<%6L>$HG'>Z$K;HMQ$7$?\e(B
+ \e$B%?%$%W\e(B (\e$BNc\e(B Basic, Digest) \e$B$K$D$$$F$d$j<h$j$7$^$9!#\e(B</p>
+ <p><code>query_string</code>, <code>ssl_cert</code>,
+ <code>ssl_cipher</code>, <code>ssl_session</code>
+ \e$B$O\e(B HTTP \e$B$H\e(B HTTPS \e$B$NBP1~$9$kItJ,$r;2>H$7$^$9!#\e(B</p>
+ <p><code>jvm_route</code> \e$B$O%9%F%#%C%-!<%;%C%7%g%s$N%5%]!<%H!=!=\e(B
+ \e$B%m!<%I%P%i%s%9$7$F$$$kJ#?t$N%5!<%PCf$NFCDj$N\e(B Tomcat \e$B%$%s%9%?%s%9$H!"\e(B
+ \e$B%f!<%6$N%;%C%7%g%s$H$rI3IU$1$k5!G=!=!=$K;H$o$l$^$9!#\e(B</p>
+ <p>\e$B$3$N4pK\B0@-0lMw$KL5$$$b$N$K$D$$$F$O!"\e(B<code>req_attribute</code>
+ \e$B%3!<%I\e(B <code>0x0A</code> \e$B7PM3$GB0@-$r2?8D$G$bAw$k$3$H$,$G$-$^$9!#\e(B
+ \e$BB0@-$NL>A0$HCM$NJ8;zNs$NAH$r!"$=$l$>$l$3$N%3!<%I$ND>8e$KAw$j$^$9!#\e(B
+ \e$B4D6-JQ?t$O$3$NJ}K!$GEA$($i$l$^$9!#\e(B</p>
+ <p>\e$B:G8e$KB0@-$,A4$FAw?.$5$l$?8e$K!"B0@-$N=*C<$r<($9\e(B <code>0xFF</code>
+ \e$B$,Aw=P$5$l$^$9!#$3$N?.9f$OB0@-$N0lMw$N=*$o$j$r<($9$HF1;~$K!"%j%/%(%9%H\e(B
+ \e$B%Q%1%C%H$N=*C<$r$b<($7$F$$$^$9!#\e(B</p>
+ </section>
+</section>
+
+<section id="resppacketstruct"><title>\e$B%l%9%]%s%9%Q%1%C%H9=B$\e(B</title>
+ <p>\e$B%3%s%F%J$,%5!<%P$KAw$jJV$9$3$H$N$G$-$k%a%C%;!<%8\e(B:</p>
+ <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></example>
+ <section><title>\e$B>\:Y\e(B :</title></section>
+ <section><title>Send Body Chunk</title>
+ <p>\e$B%A%c%s%/$O4pK\E*$K$O%P%$%J%j%G!<%?$G!"%V%i%&%6$KD>@\Aw$i$l$^$9!#\e(B</p>
+ </section>
+ <section><title>Send Headers</title>
+ <p>\e$B%9%F!<%?%9%3!<%I$H%a%C%;!<%8$,DL>o$N\e(B HTTP \e$B$NDL?.$K$O$"$j$^$9\e(B (\e$BNc\e(B
+ <code>200</code> \e$B$H\e(B <code>OK</code>)\e$B!#%l%9%]%s%9%X%C%@L>$O!"\e(B
+ \e$B%j%/%(%9%H%X%C%@L>$HF1MM$NJ}K!$G%(%s%3!<%I$5$l$^$9!#\e(B
+ \e$B%3!<%I$HJ8;zNs$NH=JLJ}K!$N>\:Y$K4X$7$F$O!">e5-$N\e(B header_encoding
+ \e$B$r;2>H$7$F$/$@$5$$!#\e(B
+ \e$B0lHLE*$J%X%C%@$N%3!<%I$O\e(B :</p>
+ <table>
+ <tr><td>\e$BL>A0\e(B</td><td>\e$B%3!<%I$NCM\e(B</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>\e$B%3!<%I$+%X%C%@J8;zNs$ND>8e$K$O!"%X%C%@$NCM$,%(%s%3!<%I$5$l$^$9!#\e(B</p>
+ </section>
+ <section><title>End Response</title>
+ <p>\e$B%j%/%(%9%H=hM}%5%$%/%k$N=*N;$rCN$i$;$^$9!#\e(B<code>reuse</code> \e$B%U%i%0$,??\e(B
+ <code>(==1)</code> \e$B$N>l9g!"8=:_;HMQ$7$F$$$k\e(B TCP \e$B%3%M%/%7%g%s$O<!$N?7$7$$\e(B
+ \e$B%j%/%(%9%H$K;H$($k$h$&$K$J$j$^$9!#\e(B<code>reuse</code> \e$B$,56\e(B (C \e$B$N%3!<%I$G$O\e(B
+ 1 \e$B0J30$NA4$F\e(B) \e$B$N>l9g$O!"%3%M%/%7%g%s$rJD$8$k$3$H$K$J$j$^$9!#\e(B</p>
+ </section>
+ <section><title>Get Body Chunk</title>
+ <p>(\e$B%\%G%#$N%5%$%:$,Bg$-$9$.$F:G=i$N%Q%1%C%H$K<}$^$i$J$$>l9g$d!"\e(B
+ \e$B%j%/%(%9%H$,%A%c%s%/E>Aw$5$l$?>l9g$J$I$K$O!"\e(B) \e$B%3%s%F%J$O%j%/%(%9%H$+$i$N\e(B
+ \e$B%G!<%?FI$_9~$_MW5a$r$7$^$9!#%5!<%PB&$O$=$l$KBP$7$F!":G>.\e(B
+ <code>request_length</code> \e$B:GBg\e(B <code>(8186 (8 Kbytes - 6))</code>
+ \e$B$NHO0O$G!"L$E>Aw$G;D$C$F$$$k%j%/%(%9%H%\%G%#$NBg$-$5$N%G!<%?$r\e(B
+ \e$BAw$jJV$7$^$9!#\e(B<br />
+ \e$B%\%G%#$K$=$l0J>e%G!<%?$,;D$C$F$$$J$$>l9g\e(B (\e$B$D$^$j%5!<%V%l%C%H$,\e(B
+ \e$B%\%G%#$N:G8e$rD6$($FFI$_9~$b$&$H$7$?>l9g\e(B) \e$B!"%5!<%P$O\e(B
+ \e$B%Z%$%m!<%ID9\e(B 0 \e$B$N\e(B<em>\e$B6u%Q%1%C%H\e(B</em><code>(0x12,0x34,0x00,0x00)</code>
+ \e$B$rAw$jJV$7$^$9!#\e(B</p>
+ </section>
+</section>
+
+
+</modulesynopsis>