<html>
<head>
<title>Request IuWFNg</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div id="">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">Request IuWFNg</td>
<td valign="top" class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description">







<p>Request IuWFNggpƁA[U[ HTTP ṽwb_Ɩ{ɃANZXł܂B[U[sւ̉͂̃IuWFNgɂĉ\ɂȂ̂ŁA͗邱Ƃłdvȑgݍ݌^ ASP IuWFNgłBRequest IuWFNggpƁAWeb y[W𓮓Iɍ쐬A[U[̓͂ɊÂāAӖ̂T[o[TChANV (f[^x[X̍XVȂ) sł܂B</p>
</td></tr>
</table>
</div>
<div id="HowHTTPWorks">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr valign="top">
<td class="NAME">
HTTP ̓</td>
<td class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
</tr>
<tr>
<td class="usage" colspan="2">&nbsp;</td></tr>
<tr><td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr><td colspan="2" class="description">

<p><!--<primary>HTTP
(Hypertext Transfer Protocol)</primary>-->Request IuWFNg̏ڍׂɂẮAŐ܂B܂ŏɁAHTTP vgR̊{ɂė邱ƂdvłB̊{𗝉΁ARequest IuWFNg̎gpsȂ̂猻̂̂ɕς܂BSz͖płBł̐́AHTTP vgR̊ȒPȊTvłB</p>




<sect2 role="" id="ch07-20114" label="7.1.1">
<p class="TITLE">HTTP :ȒPȗ</p>




<p><!--<primary>HTTP
(Hypertext Transfer Protocol)</primary><secondary>example
of</secondary>-->HTTP  "gUNV" ^̃vgRł邱Ƃ͊ɂmł傤BuEU (NCAg) ̓T[o[ɗv𑗂܂BT[o[́A\ȏꍇ̗͂vɉANCAgɉ𑗐M܂BT[o[́ÃgUNVɂĂ͉L܂BuEU͂̃gUNVL邱ƂALȂƂ܂B</p>




<!--
<p class="TITLE">HELLO.HTM, a simple HTML form</p>



<graphic width="431" depth="209" fileref="figs/ASP2.0701.gif"/>-->

<figure id="ch07-15144" label="7.2">
<p class="TITLE">CGI AvP[Vɂč쐬ꂽ HTML y[W HELLOCGI.HTM</p>



<graphic width="431" depth="199" fileref="figs/ASP2.0702.gif"/></figure>

<p><!--<primary>web browsers</primary><secondary>HTTP
interaction, example</secondary>--> <!--<primary>web
servers</primary><secondary>HTTP interaction,
example</secondary>--> <!--<primary>servers</primary><see>web
servers</see>-->Web uEUƃT[o[Ԃ̑ݍp߁ÅȒPȗ؂܂B<link linkend="ch07-22039">} 7.1</link>  Netscape Navigator ̉ʂłBɂ́A[U[ɖO̓͂vAɒPȃtH[ <filename>HELLO.HTM</filename> \Ă܂B[U[ [Submit] {^NbNƁAWebSite T[o[ CGI AvP[VNÃAvP[V<link linkend="ch07-15144">} 7.2</link> Ɏy[W𑗐M܂B̗ł Navigator  WebSite gpĂ܂Aǂ̃uEUƃT[o[łݍp͂قƂǓłB܂A̗ł CGI AvP[VgpĂ܂AHTTP ̗vƉ̃TCŃAASP AvP[VɊւĂ͂قƂǓłBCGI  ASP ւ̕ϊ̏ڍׂɂẮA<link linkend="appb-1-fm2xml">t^ B</link> QƂĂBȉł́AuEUƃT[o[Ԃ̑ݍpvgRɂĂǂ̂悤ɍs邩ɂĐ܂B</p>




<orderedlist><dd><p>[U[ <filename>HELLO.HTM</filename>  URL ̓͂IƁANavigator ͎̃Xg[T[o[ɑM܂B</p>



<p>̏o̓Xgł <function>send </function>́Aڑꂽ\PbgŃXg[𑗐M\Pbg֐łB̏o͂ 73 ̓\PbgA179 ͊֐ԂlA܂著M鑍oCg܂B</p>


<span class="PROGRAMLISTING"><pre>[73:send:(179)]GET /hello.htm HTTP/1.0
Connection: Keep-Alive
User-Agent: Mozilla/3.0 (Win95; I)
Host: pc229.west.ora.com
Accept: image/gif, image/x-xbitmap, image/jpeg, 
   image/pjpeg, */*</pre></span>



<p> <!--<primary>HTTP (Hypertext Transfer
Protocol)</primary><secondary>request headers</secondary>-->
<!--<primary>requests,
HTTP</primary><secondary>headers</secondary>-->
<!--<primary>headers,
HTTP</primary><secondary>requests</secondary>-->vwb_łBuEÚAhLg <em>/HELLO.HTM</em> ̎擾T[o[ɗv܂B<em>Get</em> ́As鏈T[o[ɎʓIȋLqڍׂłAHTTP v^Cv܂BڍׂɂẮA{͂ <link linkend="ch07-20207">7.1.2 </link>QƂĂBuEÚAnCp[eLXg]vgR̃o[W 1.0 gpĂ邱Ƃ܂B</p>


<tip id="ch07-3-fm2xml" role="ora">
<p> HTTP wb_̍ŏ̍ś̕ÃfŎgp TCP/IP pPbgXjt@łAۂɑM HTTP v̈ꕔł͂܂Bׂ̏͂̂Ă HTTP ZOgɂĂlłB</p>



</tip>
</dd>



<dd><p>XpCvOɂč쐬ꂽ̏o͂Ɏ悤ɁAT[o[̓uEUMwb_MA̗v܂B</p>

<p>\Pbg̃f[^̎Mɂ́A<function>recv </function>֐gp܂B̏o͂ŁAŏ̔ԍ 21 ̓T[o[gp\Pbg\܂B"Completed (179)" ͊֐̖߂l\Ȁꍇ 179 oCgMĐɏƂ܂B́AuEUMoCgɑΉĂ܂B</p>

<span class="PROGRAMLISTING"><pre>[21:recv: completed (179)]GET /hello.htm HTTP/1.0
Connection: Keep-Alive
User-Agent: Mozilla/3.0 (Win95; I)
Host: pc229.west.ora.com
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*</pre></span>
</dd>


<dd>
<p>T[o[́AhLg <em>HELLO.HTM</em> uEUɑM܂B</p>


<span class="PROGRAMLISTING"><pre>[21:send:(535)]HTTP/1.0 200 OK
Date: Monday, 30-Sep-98 23:33:00 GMT
Server: WebSite/1.1
Allow-ranges: bytes
Accept-ranges: bytes
Connection: Keep-Alive
Content-type: text/html
Last-modified: Monday, 30-Sep-98 23:30:38 GMT
Content-length: 297

&lt;HTML&gt;
&lt;HEAD&gt;&lt;TITLE&gt;Hello, World!&lt;/TITLE&gt;&lt;/HEAD&gt;
&lt;BODY&gt;
&lt;FORM ACTION="/cgi-win/hello.exe" METHOD="POST"&gt;
What is your name? &lt;INPUT TYPE="text" NAME="name" SIZE=60&gt;&lt;BR&gt;
&lt;INPUT TYPE="submit" VALUE="Submit the form"&gt;
&lt;INPUT TYPE="reset" VALUE="Clear all fields"&gt;
&lt;/FORM&gt;
&lt;/BODY&gt; &lt;/HTML&gt;</pre></span>



<p>ŁAWebSite ͍v 535 oCguEUɑM܂B̏o͂́A<em></em>wb_<!--<primary>responses,
HTTP</primary><secondary>headers</secondary>-->
<!--<primary>headers,
HTTP</primary><secondary>responses</secondary>-->
<!--<primary>HTTP (Hypertext Transfer
Protocol)</primary><secondary>response
headers</secondary>-->ɑāA󔒍sA HTML hLgō\܂Bwb_tB[h́AoCg (Content-length wb_)AMf[^̃tH[}bg (Content-type wb_) Ȃǂ܂B"200 OK" ́AuEU̗vꂽƂXe[^XR[hłBT[o[́AuEUƓ悤ɁAHTTP o[W 1.0 gpĂ邱Ƃ܂B</p></dd>



<dd><p>uEÚAT[o[Mwb_ƃf[^ǂݎ܂B</p>


<span class="PROGRAMLISTING"><pre>[73:recv: posted]
[73:recv: completed (260)]HTTP/1.0 200 OK
Date: Monday, 30-Sep-98 23:33:00 GMT
Server: WebSite/1.1
Allow-ranges: bytes
Accept-ranges: bytes

Connection: Keep-Alive
Content-type: text/html
Last-modified: Monday, 30-Sep-98 23:30:38 GMT
Content-length: 297

&lt;HTML&gt;
&lt;HEAD&gt;&lt;TITLE&gt;H
[73:recv: posted]
[73:recv: completed (275)]ello, World!&lt;/TITLE&gt;&lt;/HEAD&gt;
&lt;BODY&gt;
&lt;FORM ACTION="/cgi-win/hello.exe" METHOD="POST"&gt;
What is your name? &lt;INPUT TYPE="text" NAME="name" SIZE=60&gt;&lt;BR&gt;
&lt;INPUT TYPE="submit" VALUE="Submit the form"&gt;
&lt;INPUT TYPE="reset" VALUE="Clear all fields"&gt;
&lt;/FORM&gt;
&lt;/BODY&gt; &lt;/HTML&gt;</pre></span>



<p><function>recv</function>  2 ̏́AhLgƋɃwb_R[h擾邽߂ɕKvłA 2 ̏œǂݎꂽoCǵAT[o[MoCgɓȂ܂B</p></dd>

<dd><p>uEÚA[U[͂tH[\A[U[͂s [Submit] {^NbNƁAT[o[Ɏ̃f[^𑗐M܂B</p>

<span class="PROGRAMLISTING"><pre>[70:send:(232)]POST /cgi-win/hello.exe HTTP/1.0
Referer: http://pc229.west.ora.com/hello.htm
Connection: Keep-Alive
User-Agent: Mozilla/3.0 (Win95; I)
Host: pc229.west.ora.com
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
[70:send:(69)]Content-type: application/x-www-form-urlencoded
Content-length: 14
[70:send:(2)]
[70:send:(16)]name=Jayne+Doe</pre></span>



<p>uEU̓tH[f[^𑗐M邽߁AHTTP v^Cv́Aŏ̃wb_R[h悤 "POST" ɂȂ܂BlɁAContent-length  Content-type R[h́AuEUv̖{ 14 oCg <span class="LITERAL">x-www-form-urlencoded</span> f[^𑗐MĂ邱Ƃ܂B́AtH[ 1 ̃f[^tB[hł [<span class="LITERAL">name</span>] eLXg{bNXɃ[U[͂ō\܂B</p></dd><dd><p>T[o[́AO̎菇ŃuEUMwb_R[hƃtH[f[^M܂B̓uEUMeLXgƊ{Iɓł邽߁Ał͏dĎ܂BURL (<em>/cgi-win/hello.exe</em>) ́AT[o[ CGI AvP[V <filename>HELLO.EXE</filename> NAtH[̃f[^̃AvP[VɑM܂BCGI AvP[V͉炩̃obNGhsAHTML hLg쐬ĂT[o[ɕԂ܂B</p></dd>

<dd><p>T[o[́AWSock32 Spy ̎̏o͂̂悤ɁAKvȃwb_R[hƋ HTML hLguEUɕԂ܂B</p>


<span class="PROGRAMLISTING"><pre>[18:send:(422)]HTTP/1.0 200 OK
Date: Monday, 30-Sep-98 23:33:10 GMT
Server: WebSite/1.1
Allow-ranges: bytes
Accept-ranges: bytes
Connection: Keep-Alive
Content-type: text/html
Content-length: 231

&lt;HTML&gt;&lt;HEAD&gt;
&lt;TITLE&gt;Welcome to this Web Page!&lt;/TITLE&gt;&lt;/HEAD&gt;

&lt;BODY&gt;&lt;H1&gt;Welcome to Our Web Server!&lt;/H1&gt;&lt;p&gt;&lt;p&gt;
Hello, Jayne Doe! We're glad that you took
the time out of your busy day to visit us!
&lt;HR&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</pre></span>



<p>T[o[́A231 oCg HTML hLg𑗐M邱ƂuEUɎ܂B</p></dd><dd><p>uEU̓T[o[Mf[^Xg[MAgp HTML y[W\܂B</p></dd></orderedlist>


<p>ȏŃuEUƃT[o[̑ݍpɂĂƂł傤BAȌɍς܂̓_ÅȒPȗŐĂȂ@\ɂẮȀڍׂɂĎQƂ邱ƂdvłB</p>
</sect2>












<sect2 role="" id="ch07-20207" label="7.1.2">
<p class="TITLE">HTTP ṽ^Cv</p>




<p><!--<primary>HTTP (Hypertext Transfer
Protocol)</primary><secondary>request types</secondary>-->
<!--<primary>request types</primary>-->uEUŎw肳ꂽ URL ɊւăT[o[sKv鏈߂ɁANCAgT[o[ɗṽ^Cvn܂BHTTP dlł́A<span class="LITERAL">PUT</span>  <span class="LITERAL">DELETE</span> ȂǁA̗ṽ^Cv̏ڍׂĂ܂AׂẴT[o[ŃT|[gĈʓIɎgp̂́A <span class="LITERAL">GET</span><!--<primary>GET request type</primary>-->
<!--<primary>POST
request type</primary>-->  <span class="LITERAL">POST</span>  2 łB<span class="LITERAL">GET</span> v́Aʏ̓hLgȂǂ̏ "GET" ANCAgɕԂ悤ɗv܂Bvɒǉ̏񂪊܂܂ĂꍇȀ URL ̃p[^ƂĒǉ܂BA<span class="LITERAL">POST</span> v́AURL  "POST" T[o[ɒ񋟂܂BʏA HTML tH[̃RecT[o[ɑM邩AobNGhɕKvȏT[o[ɒ񋟂邽߂Ɏgp܂B̏񂻂̂̂́Av̖{Ɋ܂܂܂B</p>




<p>قƂǂ̃T[o[́A<span class="LITERAL">POST</span> \bh܂ <span class="LITERAL">GET</span> \bhMf[^Iɏł܂BʏAT[o[Ƀf[^𑗐M <span class="LITERAL">POST</span> v <span class="LITERAL">GET</span> v́AANZTvO܂ DLL (CGIAISAPI AvP[V ISAPI tB^) ɂď܂B<span class="LITERAL">POST</span>  <span class="LITERAL">GET</span> v́ACӂ̃TCYƎނ̃f[^ԂƂł܂B</p>




<p>Web T[o[Ƀf[^𑗐MƂɁA<span class="LITERAL">GET</span>  <span class="LITERAL">POST</span> ͓悤Ɍ܂A1 ̌iȋK܂B́A"GET vɂĉύXĂ͂ȂȂ" <em></em>ƂƂłBƂ΁AGET vɉăf[^x[XύX悤 ASP XNvg͋LqȂłB̗RɂẮA<link linkend="ch07-26056">7.1.3 </link>ŏڍׂɐ܂B</p>




<!--
<p class="TITLE">GET Versus POST</p>




<p>In the event that you're confused about the difference between
these two methods, <span class="LITERAL">GET</span> can be used to retrieve any
document, <span class="LITERAL">POST</span> cannot. On the other hand, both
<span class="LITERAL">GET</span> and <span class="LITERAL">POST</span> can be used to
pass data to the object indicated by the URL. When
<span class="LITERAL">GET</span> is used for this purpose, the data is included
in the URL as the argument string; in order to extract this data with
Win-CGI, you have to parse the argument string. When
<span class="LITERAL">POST</span> is used, the data is passed to the server in
the body of the request message. So, in cases in which data is sent
to the server, <span class="LITERAL">GET</span> and <span class="LITERAL">POST</span>
differ in the method used to transmit that
data. </p>



-->
</sect2>












<sect2 role="" id="ch07-26056" label="7.1.3">
<p class="TITLE">tH[̑M</p>




<p><!--<primary>form submissions</primary>-->
<!--<primary>HTTP (Hypertext Transfer
Protocol)</primary><secondary>form
submissions</secondary>--> <!--<primary>NAME=
attribute ()</primary>--> <!--<primary sortas="INPUT tags">tags</primary><secondary sortas="NAME attribute">NAME=
attribute</secondary>-->[U[tH[tB[hɏ͂܂BtH[MƁAtH[̊etB[hɊ܂܂Ăf[^̓T[o[ɑMAT[o[͂̃f[^ ASP ɓn܂B̃f[^ <var class="replaceable">name</var>=<var class="replaceable">value </var> `őM܂BŁA<var class="replaceable">name</var>  <span class="LITERAL">&lt;INPUT&gt;</span> ^O <span class="LITERAL">NAME=</span> ɂătB[hɊ蓖ĂꂽOA<var class="replaceable">value</var> ͂̃tB[hɓ͂l\܂BƂ΁A (first name) ͂tB[hɃ[U[uArchievƓ͂ƁAuEU͕ <span class="LITERAL">first_name=Archie</span> 𑗐M܂B</p>




<p><span class="LITERAL">METHOD=GET</span><!--<primary>METHOD attribute
()</primary>--> <!--<primary sortas="FORM tags">tags</primary>--> gp悤ɃtH[LqĂꍇAtH[f[^̓p[^Ƃ URL ɒǉ܂BtH[ɑ̃tB[h܂܂Ă邩AtB[hɒeLXg񂪊܂܂ĂꍇA URL ͔ɒȂAɂȂ܂BɁA<span class="LITERAL">GET</span> őM镶̐ (ʏ 2000) ́A<span class="LITERAL">POST</span> ̏ꍇȂႭȂĂ܂B</p>




<p>tH[ő <span class="LITERAL">METHOD=POST</span> gpꍇA<var class="replaceable">name</var>=<var class="replaceable">value</var> ̃yA URL ɒǉ̂ł͂ȂAv̖{ƂđM܂B<em></em>vwb_ URL ł͂ȂAv̖{f[^𒊏oƁAقƂǂ̃T[o[ <span class="LITERAL">POST</span> v̏啝ɊȒPɂȂ邾łȂAptH[}Xサ܂B</p>




<p>ύXAɖ߂ƂłȂANV𔭐tH[ (قƂǂ̃tH[ł) ł́A <span class="LITERAL">POST</span> \bhgp܂B<span class="LITERAL">POST</span> ́ASŌIłBύX邽߂ɁA <span class="LITERAL">GET</span> gpȂłBASP XNvg̍쐬ł́A<span class="LITERAL">GET</span> \bhgpAvOւ̃f[^̈nT|[g邩ǂwł܂B</p>
</sect2>












<sect2 role="" id="ch07-5-fm2xml" label="7.1.4">
<p class="TITLE">HTTP vƉ</p>




<p><!--<primary>headers, HTTP</primary>-->wb_́AHTTP ōł̂镔łA̖𗝉΁AASP  Request IuWFNg Response IuWFNg̃vpeBƃ\bh̗iiɗeՂɂȂ܂B</p>




<p>C^[lbg̔Cӂ̓dq[bZ[WĂBdq[́Awb_Ɩ{Ƃ 2 ̕ō\Ă܂Bwb_́AbZ[W{ɂċLq邢̍sō\AbZ[W̃[eBO@܂܂ꍇ܂Bwb_Ɩ{́A󔒍sŋ敪܂Bwb_\̏ڍׂɂẮARFC-822 QƂĂB</p>




<p>HTTP bZ[W (v܂͉) ͓@ō\܂Bŏ̍s͓ʂȍsłAŏ̋󔒍s܂ł̎c̍śA[bZ[Ŵ悤ȃwb_łBwb_́AvƂ̃RecA܂͉Ƃ̃RecɂċLqĂ܂B</p>




<sect3 role="" id="ch07-6-fm2xml" label="7.1.4.1">
<p class="TITLE">v</p>




<p><!--<primary>requests,
HTTP</primary><secondary>headers</secondary>-->
<!--<primary>HTTP (Hypertext Transfer
Protocol)</primary><secondary>request headers</secondary>-->
<!--<primary>headers,
HTTP</primary><secondary>requests</secondary>--><link linkend="ch07-20114">7.1.1 </link>ł́AuEU̗̐v܂Bł́AP HTTP v̗܂B</p>




<span class="PROGRAMLISTING"><pre>POST /cgi-win/hello.exe HTTP/1.0
Accept: image/gif, image/jpeg, */*
User-Agent: Mozilla/2.0N (Windows; I; 32Bit)
Content-type: application/x-www-form-urlencoded
Content-length: 14
<lineannotation>[mandatory blank line]</lineannotation>
name=Jayne+Doe</pre></span>




<p>ŏ̍śA<em>request-line</em><!--<primary>request-line</primary>--> ƌĂ΂Av܂̓\bh̃^Cv܂B̏ꍇ́A<span class="LITERAL">POST</span>AURLAуNCAggpĂ HTTP vgR̃o[W܂B<em></em>2 sڂ́ANCAg󂯓邱ƂłhLg̃^Cv܂B3 sڂ́AHTTP ł͕K{ł͂Ȃ "ǉ" wb_łB̃wb_ɂ́ANCAg\tgEFA̖Oƃo[WĂ܂B̌ɑ̂́A<link linkend="ch07-20114">7.1.1 </link>ŐĂ悤ɁAv̖{Ɋ܂܂Ă 2 ̍słB</p>




<p>K{̋󔒍sɎ܂łׂ̂ẮAHTTP vwb_̈ꕔłBł̃TvsɉāÃZNVɂ͑̍s܂܂邱Ƃ܂BƂ΁A"Cookie" Ɋ܂܂ĂuEUMꍇȀvwb_Ɋ܂܂܂B</p>




<p>K{̋󔒍s̉ɂ́AHTTP v̖{܂BقƂǂ̏ꍇAv̂̃ZNV͋ɂȂ܂BƂ΁AuEUÓIy[Ŵ݂vĂāA𑗐MȂꍇȂǂłBA<span class="LITERAL">POST</span> \bhgpꍇAWeb T[o[ɑM͗v̂̃ZNVɔzu܂B</p>
</sect3>







<sect3 role="" id="ch07-7-fm2xml" label="7.1.4.2">
<p class="TITLE"></p>




<p><!--<primary>responses,
HTTP</primary><secondary>headers</secondary>-->
<!--<primary>HTTP (Hypertext Transfer
Protocol)</primary><secondary>response
headers</secondary>--> <!--<primary>headers,
HTTP</primary><secondary>responses</secondary>-->ɁAP HTTP ̗܂B</p>




<span class="PROGRAMLISTING"><pre>HTTP/1.0 200 OK
Date: Thursday, 02-Nov-95 08:44:52 GMT
Server: WebSite/1.1
Last-Modified: Wednesday, 01-Nov-95 02:04:33 GMT
Content-Type: text/html
Content-length: 8151
<lineannotation>[mandatory blank line]</lineannotation></pre></span>




<span class="PROGRAMLISTING"><pre>&lt;HTML&gt;&lt;HEAD&gt;
&lt;TITLE&gt;...</pre></span>




<p>̍ŏ̍sʂȍsłA<em>status-line</em><!--<primary>status-line</primary>--> ƌĂ΂܂B̍sɂ́AT[o[gpvgR̃o[WɉāAXe[^XR[h<!--<primary>status
code</primary>--> <!--<primary>reason
phrase</primary>-->ƗRt[Y܂܂܂B<em></em>T[o[̓Xe[^XR[hƗRt[YgpāAuEU̗vɉłǂuEUɓ`܂B̗ł́AhLgɑ΂uEU̗v𐳏ɖƂł܂B2 Ԗڂ̍śAT[o[v܂B3 Ԗڂ̍śAT[o[\tgEFAƃo[Wwb_słB4 Ԗڂ̍śAvꂽhLg̍ŏIXV܂BŌ 2 ̍śAvꂽhLg̃f[^̃^CvƃoCg܂B̌ 1 s̋󔒍sƁAɃbZ[W̖{܂B{ɂ́AuEUŕ\邽߂ɃT[o[MhLgf[^܂܂܂B</p>




<p>HTTP v̏ꍇƓ悤ɁAK{̋󔒍sɂ镔ׂẮAHTTP wb_̈ꕔłƌȂ܂B̍s艺ɂ镔ׂẮA̖{̈ꕔłB</p>




<p>̏͂ł́AASP  Request IuWFNgɂĐ܂B̃IuWFNǵAHTTP ṽwb_і{̗ɃANZX邽߂Ɏgpł܂B̏͂ł́AWeb T[o[ HTTP 𑀍삷邽߂ɎgpłAASP  Response IuWFNgɂĐ܂B</p>
</sect3>
</sect2>












<sect2 role="" id="ch07-8-fm2xml" label="7.1.5">
<p class="TITLE">HTTP  Request IuWFNg ASP  Request IuWFNg</p>




<p><!--<primary>Request
object</primary><secondary>HTTP requests and</secondary>-->
<!--<primary>HTTP
(Hypertext Transfer
Protocol)</primary><secondary>requests</secondary><tertiary>Request
object and</tertiary>--> <!--<primary>HTTP (Hypertext Transfer
Protocol)</primary><secondary>requests</secondary><seealso>Request object</seealso>--><!--<primary>requests,
HTTP</primary><secondary>Request object
and</secondary>-->ɐ悤ɁAASP  Request IuWFNggpƁANCAg̃uEU Web T[o[ɑMꂽ HTTP ṽwb_Ɩ{̗ɃANZXł܂BASP XNvg HTTP v擾@́ACGI AvP[V̕@Ɗ{IɓłB̗ÓA{}jA̍ŏ 2 ͂ŐĂ悤ɁAۂ̗vJjYł͂ȂAWeb T[o[Ɋe^CṽAvP[Vǂݍ܂@ (CGI  ISAPI tB^) 甭܂B</p>




<p>CGI AvP[V̏ꍇƓ悤ɁANCAguEU 2 ̈قȂ@ŏ ASP XNvgɑMł܂Bŏ̕@ł́A<span class="LITERAL">GET</span><!--<primary>GET request
type</primary><secondary>sending to ASP
scripts</secondary>--> \bhgp HTML tH[ɂ𑗐Mł܂B</p>




<span class="PROGRAMLISTING"><pre>&lt;HTML&gt;
&lt;HEAD&gt;&lt;TITLE&gt;Welcome to the Corp.&lt;/TITLE&gt;&lt;/HEAD&gt;
&lt;BODY&gt;
&lt;FORM ACTION=" http://mycorp.com/secure.asp" METHOD="GET"&gt;
First name: &lt;INPUT TYPE="text" NAME="first_name" SIZE=60&gt;&lt;BR&gt;
Last name: &lt;INPUT TYPE="text" NAME="last_name" SIZE=60&gt;&lt;BR&gt;
&lt;INPUT TYPE="submit" VALUE="Submit the form"&gt;
&lt;INPUT TYPE="reset" VALUE="Clear all fields"&gt;
&lt;/FORM&gt;
&lt;/BODY&gt; &lt;/HTML&gt;</pre></span>




<p>NCAg <span class="LITERAL">GET</span> v𑗐MƁAvɊւ͗v URL ̍Ō "O/l" ̃yAƂĒǉ܂B̃yA̓ApThŋ؂A擪ɋ^╄t܂Bꂼ̖O̓tH[̗vfɑΉ܂BƂ΁AO̗Ń[U[ 2 ̃tB[hɁuHoratiavсuThompsonvƓ͂A[Submit] {^NbNƂ܂BOq̃tH[ḾAT[o[ɊւÃR[hƓɂȂ܂B</p>




<span class="PROGRAMLISTING"><pre>http://mycorp.com/secure.asp?first_name=horatia&amp;last_name=thompson</pre></span>




<p>͏dvȃ|CgłB̗ɑāÃR[hl܂B</p>




<span class="PROGRAMLISTING"><pre>http://mycorp.com/secure.asp?first_name=horatia&amp;last_name=thompson</pre></span>




<p>[U[̏AhXsɓ͂邩Aꂪ URL ƂĊ܂܂Ă郊NNbNꍇAWeb T[o[͌ʂ HTTP vA<span class="LITERAL">GET</span> vgptH[̈ꕔƂđMꂽ̂悤ɐmɏ܂BASP AvP[V́ARequest IuWFNg <!--<primary>QueryString collection
(Request)</primary>-->QueryString RNVʂĂ̏ɃANZXł܂Bɗ܂B</p>




<span class="PROGRAMLISTING"><pre>&lt;%
strFirstName = Request.QueryString("first_name")
%&gt;</pre></span>




<p>̃R[h́A<var class="replaceable">strFirstName</var> ϐ <span class="LITERAL">first_name</span> p[^őMꂽlɏ܂BQueryString RNV̏ڍׂɂẮA{͂Ōq܂B</p>




<p>CGI AvP[V̏ꍇƓ悤ɁA<span class="LITERAL">POST</span><!--<primary>POST
request type</primary><secondary>sending to ASP
scripts</secondary>--> \bhgp ASP XNvgɏ𑗐Mł܂B̏ꍇA HTTP vwb_̈ꕔł͂ȂARequest IuWFNg̖{Ɋ܂܂܂B</p>




<span class="PROGRAMLISTING"><pre>&lt;HTML&gt;
&lt;HEAD&gt;&lt;TITLE&gt;Welcome to the Corp.&lt;/TITLE&gt;&lt;/HEAD&gt;
&lt;BODY&gt;
&lt;FORM ACTION="http://mycorp.com/secure.asp" METHOD="POST"&gt;
First name: &lt;INPUT TYPE="text" NAME="first_name" SIZE=60&gt;&lt;BR&gt;
Last name:&lt;INPUT TYPE="text" NAME="last_name" SIZE=60&gt;&lt;BR&gt;
&lt;INPUT TYPE="submit" VALUE="Submit the form"&gt;
&lt;INPUT TYPE="reset" VALUE="Clear all fields"&gt;
&lt;/FORM&gt;
&lt;/BODY&gt; &lt;/HTML&gt;</pre></span>




<p>̃tH[𑗐MƁÂ悤 HTTP vɂȂ܂B</p>




<span class="PROGRAMLISTING"><pre>POST /secure.asp HTTP/1.0
Accept: image/gif, image/jpeg, */*
User-Agent: Mozilla/2.0N (Windows; I; 32Bit)
Content-type: application/x-www-form-urlencoded
Content-length: 35
<lineannotation>[mandatory blank line]</lineannotation></pre></span>




<span class="PROGRAMLISTING"><pre>first_name=horatio&amp;last_name=aubrey</pre></span>




<p> HTTP vőMꂽAvP[Vő삷ɂ́ARequest IuWFNg <!--<primary>Form
collection (Request)</primary>-->Form RNVgpKv܂B</p>




<span class="PROGRAMLISTING"><pre>&lt;%
strFirstName = Request.Form("first_name")
%&gt;</pre></span>




<p>̃R[h́A<var class="replaceable">strFirstName</var> ϐ <span class="LITERAL">first_name</span> p[^őMꂽlɏ܂BForm RNV̏ڍׂɂẮA{͂Ōq܂B


</p>
</sect2>
</td>
</tr>
</table>
</div>
<div id="TheASPRequestObject">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr valign="top">
<td class="NAME">
ASP  Request IuWFNg</td>
<td class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
</tr>
<tr>
<td class="usage" colspan="2">&nbsp;</td></tr>
<tr><td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr><td colspan="2" class="description">




<p><!--<primary>Request object</primary>-->
<!--<primary>HTTP
(Hypertext Transfer
Protocol)</primary><secondary>requests</secondary>-->
<!--<primary>requests,
HTTP</primary>-->ASP  Request IuWFNg̃vpeBARNVA\bhAуCxg̃{bNXɎ܂B</p>




<sidebar id="ch07-10-fm2xml" label="2">
<p class="TITLE">Request IuWFNg̊Tv</p>




<dl>
<dt>vpeB</dt>
<dd><p>TotalBytes</p></dd>




<dt>RNV</dt>
<dd><p>ClientCertificate</p>






<p>Cookies</p>




<p>Form</p>




<p>QueryString</p>




<p>ServerVariables</p>
</dd>




<dt>\bh</dt>
<dd><p>BinaryRead</p></dd>




<dt>Cxg</dt>
<dd><p>Ȃ</p></dd>

</dl>



</sidebar>
</td>
</tr>
</table>
</div>
<div id="CommentsTroubleshooting">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr valign="top">
<td class="NAME">
RgуguV[eBO</td>
<td class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
</tr>
<tr>
<td class="usage" colspan="2">&nbsp;</td></tr>
<tr><td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr><td colspan="2" class="description">

<p><!--<primary>comments and
troubleshooting</primary><secondary>Request
object</secondary>-->Oq ASP  <span class="LITERAL">GET</span> \bh <span class="LITERAL">POST</span> \bh̐ł́A<span class="LITERAL">GET</span> ̏ QueryString RNVgpĎ擾A<span class="LITERAL">POST</span> ̏ Form RNVgpĎ擾܂BAɊȒPȕ@܂B̕@̏ꍇARNVw肷Kv͂܂B̗Ɏ܂B</p>

<span class="PROGRAMLISTING"><pre>strName = Request("name")</pre></span>




<p>̃R[h́A"name" L[RNVƂ͖֌WɁÃL[̒lԂ܂B́AIIS ׂẴRNV邽߂łB̕@Œlw肷ƁAASP ͎̏Ŋe Request IuWFNgRNV܂B</p>




<orderedlist><dd><p>	QueryString</p></dd><dd><p>	Form</p></dd><dd><p>	Cookies</p></dd><dd><p>	ClientCertificate</p></dd><dd><p>	ServerVariables</p></dd></orderedlist>
<p>ϐ́AvꂽɖOv "O/l" ̃yA̍ŏ̃CX^X̒l󂯎܂B̂߁ÃRNVœ "O/l" ̃yAꍇ́ÃRNVw肵ȂAOq̏ɏ]Čŏ̃CX^X̒l󂯎邱Ƃ𗝉ĂƂdvłB</p>




<p>ASP IuWFNgf̑̃RNVƓlɁARequest IuWFNgɊւĖ{͂ŐĂ邷ׂẴRNV́AItem vpeBAKey vpeBACount \bhA <span class="LITERAL">For..Each</span> \T|[g܂B</p>
</td>
</tr>
</table>
</div>
<div id="TotalBytes">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr valign="top">
<td class="NAME">
TotalBytes</td>
<td class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
</tr>
<tr>
<td class="usage" colspan="2"><var class="replaceable">Var</var> <span class="LITERAL">= Request.</span>TotalBytes
</td></tr>
<tr><td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr><td colspan="2" class="description">
<p><!--<primary>requests, HTTP</primary><secondary>size of
request body</secondary>--> <!--<primary>HTTP
(Hypertext Transfer
Protocol)</primary><secondary>requests</secondary><tertiary>size of
request body</tertiary>--> <!--<primary>TotalBytes
property (Request)</primary>--> <!--<primary>Request
object</primary><secondary>TotalBytes
property</secondary>-->
<!--<primary>size</primary><secondary>HTTP request
body</secondary>-->TotalBytes vpeB́AHTTP v̖{ŃNCAg Web T[o[Ƀ|XgoCgAǂݎplłB̃vpeB́ARequest IuWFNg BinaryRead \bhgpėv̖{f[^ǂݎ鏀sƂɏdvłB</p>



</td>
</tr>
<tr><td colspan="2" class="CLEARSEPARATION">&nbsp;</td></tr>
<tr>
<td colspan="2" class="DESCRIPTIONTITLE">p[^</td>
</tr>
<tr>
<td colspan="2" class="description">




<dl>
<dt>Var</dt>
<dd><p>NCAg Web T[o[Ƀf[^|XgƂɁANCAg HTTP v̖{̑oCg󂯎܂BTotalBytes vpeB͓ǂݎpłB</p></dd>

</dl>




</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="DESCRIPTIONTITLE"></td>
</tr>
<tr>
<td colspan="2" class="description">




<p>̗ł́A[U[̃tH[ɉƑz肵܂B</p>




<span class="PROGRAMLISTING"><pre>&lt;HTML&gt;
&lt;HEAD&gt;&lt;TITLE&gt;File Upload Form&lt;/TITLE&gt;&lt;/HEAD&gt;
&lt;BODY&gt;
&lt;FORM ENCTYPE = "multipart/form-data" 
ACTION= "http://mycorp.com/secure.asp" METHOD="POST"&gt;
Select a file to upload:
&lt;INPUT TYPE="file" NAME="filename"&gt;&lt;BR&gt;
&lt;INPUT TYPE="submit" VALUE="Submit the form"&gt;
&lt;/FORM&gt;
&lt;/BODY&gt; &lt;/HTML&gt;</pre></span>




<p>TotalBytes vpeBgpāAHTTP v Web T[o[ɑMꂽ̃oCg𐳊mɒׂ邱Ƃł܂B</p>




<span class="PROGRAMLISTING"><pre>&lt;% 
' The following code retrieves the total number of
' bytes sent in the user's HTTP request. This variable
' is then used to determine how many bytes to retrieve
' using the Request object's BinaryRead method.
Dim lngTotalByteCount
Dim vntRequestData

lngTotalByteCount = Request.TotalBytes

vntRequestData = Request.BinaryRead(lngTotalByteCount)

%&gt;</pre></span>




</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="DESCRIPTIONTITLE"></td>
</tr>
<tr>
<td colspan="2" class="description">




<p>قƂǂ̏ꍇARequest IuWFNg BinaryRead \bhɂĒ񋟂ꂽA჌x HTTP v̖{ɂf[^ɃANZXKv͂܂BāATotalBytes vpeB̒l擾Kv͂܂BقƂǂׂẴf[^vANZXɂ́AForm RNV QueryString RNVgp܂B</p>




<tip id="ch07-17-fm2xml" role="ora">
<p>O̗ł́A<var class="replaceable">vntRequestData</var> ̒ĺAAbv[hꂽt@C̃oCgłȂAMꂽoCg\܂B܂Awb_֘ÂׂĂ HTTP 񂪂̃JEgɊ܂܂܂B<em></em>Oq̃Abv[ht@CReĉ݂擾ɂ́Awb_͂Kv܂B</p>



</tip>
</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
</table>
</div>
<div id="ClientCertificate">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr valign="top">
<td class="NAME">
ClientCertificate</td>
<td class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
</tr>
<tr>
<td class="usage" colspan="2"><span class="PROGRAMLISTING"><pre>strKeyName = Request.ClientCertificate.Key(3)
strKeyValue = Request.ClientCertificate.Item(strKeyName)</pre></span></td></tr>
<tr><td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr><td colspan="2" class="description">
<p><!--<primary>Request
object</primary><secondary>collections
reference</secondary>-->Request IuWFNg <!--<primary>ClientCertificate collection
(Request)</primary>--> <!--<primary>digital
certificates</primary><secondary>client certificate field
access</secondary>--> <!--<primary>certificates</primary><see>digital
certificates</see>--> <!--<primary>client
certificates</primary><see>digital
certificates</see>-->ClientCertificate RNVgpƁANCAg̃fW^ؖ̏ؖtB[hɃANZXł܂BNCAg̃uEU SSL (Secure Sockets Layer) T|[gASSL sĂ Web T[o[ (URL ̐擪 <em>http://</em> ł͂Ȃ <em>https://</em>) ɐڑĂꍇANCAgؖ Web T[o[ɑM܂BƂ΁AInternet Explorer gpĂāASSL sĂ Internet Information Server Web TCgɐڑĂꍇAuEUsevɂ́ANCAgؖ (݂ꍇ) ܂܂܂BNCAgؖ̃tB[h́A
<!--<primary>ITU Recommendation X.509</primary>-->
<!--<primary>X.509
Recommendation</primary>-->ۓdCʐMA (ITU)  X.509 ŋK肳Ă܂B</p>




<p>ClientCertificate RNVɂ́A ASP RNVƓ悤ɁÃvpeB܂B</p>




<dl>
<dt>Item</dt>
<dd><p><!--<primary>Item
property</primary><secondary>ClientCertificate
collection</secondary>-->RNV̗̓vf̒lԂ܂BACew肷ɂ́ACfbNXԍ܂̓L[gp܂B</p></dd>




<dt>Key</dt>
<dd><p><!--<primary>Key
property</primary><secondary>ClientCertificate
collection</secondary>-->ClientCertificate RNV̗̓vf̖O\܂Bevf̒l Item vpeBŕ\̂Ɠ悤ɁAevf̖O Key vpeBŕ\܂B</p>




<p>̃L[̖Osȏꍇ́AQƂgpĎ擾ł܂BƂ΁ARNV 3 Ԗڂ̃L[ƁAvf̖Om肽Ƃ܂B̏ꍇ́ÃR[hgpł܂B</p>




<span class="PROGRAMLISTING"><pre>strKeyName = Request.ClientCertificate.Key(3)
strKeyValue = Request.ClientCertificate.Item(strKeyName)</pre></span>




<p>A3 Ԗڂ̗vf̃L[ "ISSUER" łƂ킩Ăꍇ́ÃR[hgpĂ̗vf̒l擾ł܂B</p>




<span class="PROGRAMLISTING"><pre>strKeyValue = Request.ClientCertificate.Item("ISSUER")</pre></span></dd>

</dl>



<p> ASP RNVƓ悤ɁAItem vpeBgp邱ƂɂAClientCertificate RNV̔Cӂ̃tB[h̒l擾ł܂BItem ̓RNṼftHgvpeBł邽߁A\ZkAItem vpeB̎gp𖾎Iɕ\Ȃ悤ɂł܂Bɗ܂B</p>




<span class="PROGRAMLISTING"><pre>strCertIssuer = Request.ClientCertificate("Issuer")</pre></span>




<p>̃R[h́ÃR[h̒Zk`łB</p>




<span class="PROGRAMLISTING"><pre>strCertIssuer = Request.ClientCertificate.Item("Issuer")</pre></span>




<tip id="ch07-20-fm2xml" role="ora">
<p>RNV Item vpeBAKey vpeBA Count vpeB̏ڍׂɂẮA<link linkend="ch04-40130"> 4 </link> <link linkend="ch04-3-fm2xml">4.2 </link>QƂĂB</p>



</tip>

<p>Key ̒lƂėpł͎̂O`ĂÂƂłB</p>




<dl>
<dt>Certificate</dt>
<dd><p><!--<primary>Certificate value (Key
property)</primary>-->ؖRec̃oCiXg[Ŝ܂ޕlB̃RećAf[^^Cvƍ\\߂̍ەWłW ASN.1 (Abstract Syntax Notation One) tH[}bgŎ擾܂B</p></dd>




<dt>Flags</dt>
<dd><p><!--<primary>Flags value (Key property)</primary>-->NCAg̏ؖɊւǉ񋟂tOB̃tÓA萔 <span class="LITERAL">ceCertPresent</span><!--<primary>ceCertPresent
constant</primary>-->
<!--<primary>ceUnrecognizedIssuer
constant</primary>--> <!--<primary>unrecognized
certificate issuers</primary>--> <!--<primary>issuer,
certificate</primary><see>digital certificates</see>-->  <span class="LITERAL">ceUnrecognizedIssuer</span> ɂĕ\Ƃł܂AVBScript ̃CN[ht@C <filename>cervbs.inc</filename> XNvgɊ܂܂Ă邱ƂłBCN[ht@C̏ڍׂɂẮA<link linkend="ch11-1-fm2xml"> 11 </link>QƂĂB萔悤ɁA<span class="LITERAL">ceCertPresent</span> ́ANCAg݂ؖ邱Ƃ\A<span class="LITERAL">ceUnrecognizedIssuer</span> ́ANCAg̃fW^ؖsȏؖ@ւɂĔsꂽƂ\܂B</p></dd>




<dt>Issuer</dt>
<dd><p><!--<primary>Issuer value (Key property)</primary>-->
<!--<primary>digital certificates</primary><secondary>issuer
information</secondary>-->NCAg̃fW^ؖ̔s҂Ɋւ邢̏񂪊܂܂ꂽBŐ SubKey p[^ǉꂽꍇAIssuer L[gpƁAׂĂ Issuer TutB[hl̃R}؂胊Xg (C=USAO=VeriSignAGN=Weissinger Ȃ) Ԃ܂B</p></dd>




<dt>SerialNumber</dt>
<dd><p><!--<primary>SerialNumber value (Key
property)</primary>-->NCAgؖ̃VAԍ 16 ioCgɂ ASCII \B̒l͔s҂񋟂܂BSerialNumber L[擾ƁA0A-B7-34-23 Ȃǂ̐l܂B</p></dd>




<dt>Subject</dt>
<dd><p><!--<primary>Subject value (Key
property)</primary>-->fW^ؖ̏L҂Ɋւ񋟂AR}؂蕶̃XgBSubKey w肵ȂꍇAIssuer L[ɂĐeƓlɁATutB[h̃R}؂胊XgŜ擾܂B</p></dd>




<dt>ValidFrom</dt>
<dd><p><!--<primary>ValidFrom value (Key
property)</primary>-->ؖLɂȂB̃L[̒ĺAƂĎw肳܂BƂ΁AValidFrom L[̎gp\ȒĺA1/29/98 12:01:00 A.M. (č̏ꍇ) ̂悤ɂȂ܂B<!--<primary>expiring</primary><secondary>digital
certificates</secondary>--></p></dd>




<dt>ValidUntil</dt>
<dd><p><!--<primary>ValidUntil value (Key
property)</primary>-->ؖɂȂB̃L[̒ĺAƂĎw肳܂BƂ΁AValidUntil L[̎gp\ȒĺA1/28/99 11:59:59 P.M. (č̏ꍇ) ̂悤ɂȂ܂B</p></dd>

</dl>




<p>ꕔ Key l "TuL[" ǉāAIssuer ܂ Subject L[Xgʂ̃TutB[h擾ł܂BƂ΁AIssuer L[Xg猳̃TuL[l̍擾ꍇ́Â悤ɂ̒l擾܂B</p>




<span class="PROGRAMLISTING"><pre>Request.ClientCertificate("IssuerC")</pre></span>




<p>Subject L[Xg locality TuL[l擾ꍇ́A̍\gpĂ̒l擾܂B</p>




<span class="PROGRAMLISTING"><pre>Request.ClientCertificate("SubjectL")</pre></span>




<tip id="ch07-21-fm2xml" role="ora">
<p>TuL[ ASN.1 wqgpƁAɎȂ̂܂߂āACertificate L[ł͓̃TuL[l擾ł܂B<!--<primary>ASN.1
identifiers</primary>-->ASN.1 ʎq́AIP AhX̂悤ɃsIhŋ؂l̃XgłAƂ 3.56.7886.34 ̂悤ɁA255 ܂ł̐lɐ܂B</p>



</tip>

<p>płTuL[͎̂ƂłB</p>




<dl>
<dt>C</dt>
<dd><p>Subject ܂ Issuer ̍B</p></dd>




<dt>CN</dt>
<dd><p>Subject L[̋ʖB̃TuL[́AIssuer L[ɂĂ͒`܂B</p></dd>




<dt>GN</dt>
<dd><p>Subject ܂ Issuer ̎w肳ꂽOB</p></dd>




<dt>I</dt>
<dd><p>Subject ܂ Issuer ̃CjVB</p></dd>




<dt>L</dt>
<dd><p>Subject ܂ Issuer ̒nB</p></dd>




<dt>O</dt>
<dd><p>Subject ܂ Issuer ̑gDЖB</p></dd>




<dt>OU</dt>
<dd><p>Subject ܂ Issuer ̑gDЂɂ̑gDPʂ̖OB</p></dd>




<dt>S</dt>
<dd><p>Subject ܂ Issuer ̏Bs{B</p></dd>




<dt>T</dt>
<dd><p>Subject ܂ Issuer ̃^CgB</p></dd>

</dl>



</td>
</tr>
<tr><td colspan="2" class="CLEARSEPARATION">&nbsp;</td></tr>
<tr>
<td colspan="2" class="DESCRIPTIONTITLE"></td>
</tr>
<tr>
<td colspan="2" class="description">




<span class="PROGRAMLISTING"><pre>&lt;% 

' The following code retrieves the country of origin
' for the client's certificate issuer.
strCertIssuerCountry = Request.ClientCertificate("IssuerC")

%&gt;

&lt;!-- #include file="cervbs.inc" --&gt;

&lt;%
' The next example code determines whether the
' issuer is recognized by using the flags key.
If Request.ClientCertificate("Flags") _
   and ceUnrecognizedIssuer Then
%&gt;
   Your identification is in question because your issuer 
   is not recognized.
&lt;%
Else
%&gt;
   Welcome to our site.
&lt;%
End If

' Finally, the following code iterates through the 
' ClientCertificate collection and writes the key-key 
' value pairs to the response buffer.
For Each key In Request.ClientCertificate
   Response.Write "The " &amp; key &amp; " key contains the value "
   Response.Write Request.ClientCertificate(key) &amp; "&lt;BR&gt;"
Next 

%&gt;</pre></span>




</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="DESCRIPTIONTITLE"></td>
</tr>
<tr>
<td colspan="2" class="description">




<p>NCAg̃fW^ؖ擾ł悤ɂȂɂ́ANCAg Web uEUŁATCgւ̗v SSL3.0/PCT1 vgRgpKv܂B̂߂̍łȒPȕ@́AClientCertificate RNVvf̎擾݂邱ƂłB</p>




<p>܂ANCAgؖv悤 IIS Web T[o[ݒ肵ĂKv܂B</p>




<p>NCAgfW^ؖ𑗐MȂꍇAClientCertificate RNV擾悤ƂL[͋ɂȂ܂B</p>




<p><!--<primary>ITU Recommendation
X.509</primary>--> <!--<primary>X.509
Recommendation</primary>-->ITU  X.509 ́ÂƂɂĊĂ܂B͐ȕWƂĂ͔F߂Ă܂BāAЂƂɏؖ̋@\قȂĂA擾悤Ƃ邷ׂẴtB[h܂܂ĂȂƂ܂BNCAg𐳂ʂ邽߂ɂ́AClientCertificate RNVMOɁA炩̎sƂ߂܂B   </p>




</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
</table>
</div>
<div id="Cookies">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr valign="top">
<td class="NAME">
Cookies</td>
<td class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
</tr>
<tr>
<td class="usage" colspan="2"><span class="PROGRAMLISTING"><pre>Set-Cookie: NAME=VALUE; expires=DATE; domain=DOMAIN_NAME; 
path=PATH; secure</pre></span></td></tr>
<tr><td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr><td colspan="2" class="description">
<p><!--<primary>cookies</primary>-->
<!--<primary>HTTP
(Hypertext Transfer
Protocol)</primary><secondary>cookies</secondary>-->Cookies RNVɂĐOɁAHTTP  Cookie ̊TOɂďЉѐ܂Bł͊ȒPȊTvɂƂǂ߂܂BڍׂɂẮANetscape Ђ̎bdl (<systemitem role="url">http://www.netscape.com/newsref/std/cookie_spec.html</systemitem>) ܂ Cookie ֘ÃTCg Cookie Central QƂĂBɁA<systemitem role="url">http://www.cookiecentral.com/unofficial_cookie_faq.htm</systemitem> QƂ邱Ƃ߂܂B</p>




<p>HTTP ̂悤ȃXe[gXvgRł́AT[o[ƃNCAg̗Aɑ̌JԂsKv邱ƂłBƂ΁A^ɃXe[gXȃvgRgpꍇAWeb T[o[́ANCAg̃TCg̃y[WɈړ邽тɁANCAgɂĊmFKv܂B́ATCg̕ʂ̃y[WVy[WɈړꍇłlłBlɁA[U[̑́A 1 y[Wœ͂ѕۑ̂ɐ܂B́A1 ̃y[W̃f[^ۑ鉽炩̕@Ȃ΁A2 y[Wڂł̃f[^擾@Ȃ߂łB</p>




<p>Netscape Communications Ђ̖͂𑁊ɗ\AWeb T[o[ Web NCAg̃Rs[^ɏʂ̏ۑł悤ɂ@J܂BNCAg擾̈悩y[Wv邽тɁAT[o[ɂ̏񂪑M܂B̏ʂ̏񂪁ANetscape  Persistent Client State Mechanism ܂ "Cookie" ƂĒm郁JjY̍ɂ܂BQl܂łɁANetscape ̎bdlɂ΁ÃXe[gIuWFNg Cookie ƖtꂽmȗR͓ɂȂƂ̂ƂłB</p>




<p>Cookie ̎gpɂAWeb T[o[͈SŎ擾₷@ŃNCAgRs[^ɏۑłAɂAقƂǂ e R}[X\ɂȂ܂BWeb TCgł́AKҁAŏIKACɓ̖{ȂǂǐՂł悤ɂȂ܂B</p>




<p>Cookie ͔ɒPłB
Cookie ́ÃtH[}bg <!--<primary>Set-Cookie header</primary>-->Set-Cookie HTTP wb_gpđM܂BSet-Cookie wb_ׂ͂ 1 słKv܂B</p>




<span class="PROGRAMLISTING"><pre>Set-Cookie: NAME=VALUE; expires=DATE; domain=DOMAIN_NAME; 
path=PATH; secure</pre></span>




<p>̍\͎̂悤ɍ\܂B</p>




<dl>
<dt><span class="LITERAL">NAME=VALUE</span></dt>
<dd><p>Web T[o[NCAgRs[^ɕۑ Cookie  "O/l" ̃yAB̒lɂ́A󔒃Xy[XAR}A܂̓Z~RCӂ̕܂߂邱Ƃł܂BCookie ͕̂̕K{łB</p></dd>




<dt><span class="LITERAL">expires</span></dt>
<dd><p><!--<primary>expires attribute (Set-Cookie
header)</primary>-->
<!--<primary>expiring</primary><secondary>cookies</secondary>-->
<!--<primary>cookies, expiration
dates</primary>-->uEU Cookie jłێ܂B<span class="LITERAL">expires</span> w肳ȂꍇAftHgŌ݂ HTTP ZbV̏Iɐݒ肳܂BL̃tH[}bĝ͎ƂłB</p>




<span class="PROGRAMLISTING"><pre>Wdy, DD-Mon-YYYY HH:MM:SS GMT</pre></span>




<p>gpł̂̓OjbWŴ݂łB</p></dd>




<dt><span class="LITERAL">domain</span></dt>
<dd><p><!--<primary>domain attribute</primary><secondary>Set-Cookie
header</secondary>-->[U[ URL Ɉړ邽тɁA[U[̃Rs[^ׂ̂Ă Cookie ̃hCAURL ̃hCɑ΂Ĕr܂B[U[̃Rs[^̔Cӂ Cookie ̃hCAURL hC̖[ (SȃhC̍Ō 2 ̃ZOg) ɈvꍇA Cookie  URL ւ Request wb_ (Ő܂) ƂđM܂BhĆANCAgɑM Cookie ̃hCݒ肷邽߂ɁAȂƂ 2 ̃sIh𖼑OɊ܂łKv܂BƂ΁A<em>www.microsoft.com</em> ̏ꍇ́ANCAg Cookie 𑗐Mł܂A<em>mydomain.com</em> ̏ꍇ͑Mł܂BMicrosoft ֘A Cookie  <span class="LITERAL">domain</span> ̎ۂ̒l <span class="LITERAL">Microsoft.com</span> ƂȂ܂B</p>




<p> Cookie ́A<systemitem role="httpurl">www.microsoft.com</systemitem>A<systemitem role="httpurl">home.microsoft.com</systemitem> ȂǁA<em>Microsoft.com</em> ŏICӂ URL ɑM܂B悤ɁÃhC̃y[Ŵ݂ÃhC Cookie ݒł܂BƂ΁A<systemitem role="httpurl">www.microsoft.com</systemitem>  <em>Microsoft.com</em> hC Cookie 𑗐Mł܂A<systemitem role="httpurl">www.ora.com</systemitem> ͂𑗐Mł܂B</p>




<p>NCAguEUɑM Cookie ɃhC܂܂ĂȂꍇACookie ̑M̃hCftHgŎgp܂B͏ȗ\ȃp[^łB</p></dd>




<dt><span class="LITERAL">path</span> </dt>
<dd><p><!--<primary>path attribute (Set-Cookie
header)</primary>-->Cookie  <span class="LITERAL">domain</span> ɂĒ`ꂽhC URL ̃TuZbgB̒lɂACookie T[o[ɑM邩ǂ܂܂BpXMȂꍇAuEU\ĂhLg̃pXftHgŎgp܂BƂ΁ApXݒ肵Ȃ <em>http://www.oreilly.com/newtitles/upcoming.ASP</em>  Cookie ́AftHg <span class="LITERAL">/newtitles/</span> ɐݒ肳܂BuEÚÃpX̃y[Ŵ݂ɁÃy[W Cookie 𑗐M܂BhC̍łʓIȃpX "/" łB͏ȗ\ȑłB</p>




<p>pXɊւł́A킩ɂ_邱Ƃ܂BuEŨRs[^́ApX̊ey[WƂ 1  Cookie ۑ̂ł傤BƂAJԂgp 1  Cookie ݂̂ۑ̂ł傤BuEU͌ʂ Cookie lƂ Cookie ۑAƂ̂łB݂̃y[W̕ Cookie l܂ 1  Cookie ݂͑܂Be Cookie lɂ́AꂼƎ̃Gg܂B</p></dd>




<dt><span class="LITERAL">secure</span></dt>
<dd><p><!--<primary>secure attribute (Set-Cookie
header)</primary>-->
<!--<primary>security</primary><secondary>cookie
information</secondary>-->Cookie ɑ΂đ݂ꍇAT[o[ƃuEUی삳ꂽ`l (HTTPS Ȃ) ŒʐMĂƂ́A<span class="LITERAL">path</span> vpeBŎw肳ꂽpX̃y[Ŵ݂ɂ Cookie 𑗐M悤ɃuEUɎw܂B</p></dd>

</dl>




<p>
[JRs[^ Cookie ݂ <!--<primary>URLs</primary><secondary>cookies</secondary><see>cookies</see>-->URL Ƀ[U[ړꍇAuEŨ͎tH[}bg Request wb_𑗐M܂B</p>




<span class="PROGRAMLISTING"><pre>Cookie:Name1=Value1;Name2=Value2;...NameX=ValueX;</pre></span>




<p>ŁAel̈Ӗ͎̂ƂłB</p>




<dl>
<dt><var class="replaceable">NameX</var></dt>
<dd><p> URL  Cookie ̖OB</p></dd>




<dt><var class="replaceable">ValueX</var></dt>
<dd><p>O <var class="replaceable">NameX</var> AΉ Cookie ̒lB̒ĺAXy[XAZ~RA܂̓R}܂܂ȂłKv܂B</p></dd>

</dl>




<p>gpĂ킩₷܂BNCAg URL ɈړÃuEU HTTP wb_󂯎Ƃ܂B</p>




<span class="PROGRAMLISTING"><pre>Set-Cookie: userid=a.keyton.weissinger; domain=yourbooks.com;
path=/; expires=Thursday, 10-Nov-2000 23:59:59

Set-Cookie: usersel=aspbooks; domain=yourbooks.com;
path=/sales/; expires=Monday, 01-Jan-2010 23:59:59</pre></span>




<p>̎_ 2000 N 11  10  23  59 ܂ł̊ԁAŌ 2 ̃ZOg <em>yourbooks.com</em> łhC̔Cӂ̃y[WɃNCAgړ邽тɁAŏ Cookie  Web T[o[ɑM܂BHTTP vwb_͎̂悤ɂȂ܂B<!--<primary sortas="Cookie header">Cookie: header</primary>--></p>




<span class="PROGRAMLISTING"><pre>Cookie: userid=a.keyton.weissinger</pre></span>




<p>̎_ 2010 N 1  1  23:59 ܂ł̊ԁApX <filename>/sales/something</filename> ł <em>yourbooks.com</em> hC̔Cӂ̃y[W 2 Ԗڂ Cookie M܂BƂ΁A Cookie vwb_Ƃ܂B</p>




<span class="PROGRAMLISTING"><pre>Cookie: usersel=aspbooks</pre></span>




<p>̃wb_́A<em>http://www.yourbooks.com/sales/default.ASP</em> ܂ <em>http://www.yourbooks.com/sales/final/asp</em> ɑMA<em>http://www.yourbooks.com/sales/checkout/default.ASP</em> ɑM邱Ƃ܂B</p>




<p>ŌɁȀZbg (<span class="LITERAL">userid</span>  <span class="LITERAL">usersel</span> ̗ Cookie) ƁA Cookie wb_[U[̃uEUɂđM܂B</p>





<span class="PROGRAMLISTING"><pre>Cookie: userid=a.keyton.weissinger; usersel=aspbooks</pre></span>




<p>Cookie L͈͂Ɏgp\̏ꍇ́ACookie ɂĒmĂKvڍׂɂ܂BڍׂɂẮAOq̃t@XQƂĂB̊ȒPȊTvɑAł Request IuWFNg Cookies RNVɂĐ܂B</p>




<p>Request IuWFNg <!--<primary>Cookies
collection</primary><secondary>Request
object</secondary>-->Cookies RNVgpƁAASP AvP[Vł̓NCAg HTTP v̖{ Cookie  Cookie ACe̒l擾ł܂B</p>




<p>Cookies RNVɂ́A ASP RNVƓ悤ɁÃvpeB܂B</p>




<dl>
<dt>Item</dt>
<dd><p><!--<primary>Item property</primary><secondary>Cookie
collection (Request)</secondary>-->RNV̓ Cookie ̒l\܂BCookie w肷ɂ́ACfbNXԍ܂̓L[gp܂B</p></dd>




<dt>Key</dt>
<dd><p><!--<primary>Key property</primary><secondary>Cookies
collection</secondary><tertiary>Request
object</tertiary>-->Cookies RNV̗̓vf̖O\܂Bevf̒l Item vpeBŕ\̂Ɠ悤ɁAevf̖O Key vpeBŕ\܂B</p>




<p>̃L[̖Osȏꍇ́AQƂgpĎ擾ł܂BƂ΁ARNVɊ܂܂ 3 Ԗڂ̗vf̃L[擾ĂA̗vf̒l擾Ƃ܂B̏ꍇ́ÃR[hgpł܂B</p>




<span class="PROGRAMLISTING"><pre>strKeyName = Request.Cookies.Key(3)
strKeyValue = Request.Cookies.Item(strKeyName)</pre></span>




<p>A3 Ԗڂ̗vf̃L[ "STATE" łƂ킩Ăꍇ́ÃR[hgpĂ̗vf̒l擾ł܂B</p>




<span class="PROGRAMLISTING"><pre>strKeyValue = Request.Cookies.Item("STATE")</pre></span></dd>




<dt>Count</dt>
<dd><p><!--<primary>Count property</primary><secondary>Cookie
collection (Request)</secondary>-->RNVɊ܂܂vf̐\܂B</p></dd>

</dl>




<p> ASP RNVƓ悤ɁAItem vpeBgp邱ƂɂACookies RNV̔Cӂ̃tB[h̒l擾ł܂Bł̗Ɛł́A\ZkĂ̂ŁAItem vpeB̎gp𖾎IɎĂ킯ł͂܂Bɗ܂B</p>




<span class="PROGRAMLISTING"><pre>strLastSearch = Request.Cookies("LastSearch")</pre></span>




<p>̃R[h́ÃR[h̒Zk`łB</p>




<span class="PROGRAMLISTING"><pre>strLastSearch = Request.Cookies.Item("LastSearch")</pre></span>




<tip id="ch07-24-fm2xml" role="ora">
<p>RNV Item vpeBAKey vpeBA Count vpeB̏ڍׂɂẮA<link linkend="ch04-40130"> 4 </link> <link linkend="ch04-3-fm2xml">4.2 </link>QƂĂB</p>



</tip>

<p>Cookies RNV Cookie ́APȒlۑ邱ƂɉāA<!--<primary>cookie
dictionary</primary>--> <!--<primary>dictionary,
cookie</primary>-->Cookie \Ƃł܂B́Az̊evfOŎʉ\ȓ_ɂāAAzzɎ\łB</p>




<p>ACookie  Cookie ܂ނƂłĂAIuWFNgȂǁA蕡Gȃf[^^Cv܂ނƂ͂łȂƂɒӂKv܂B</p>




<p>Cookie ̓̒l𒲂ׂɂ́ASubKey gpKv܂BƂ΁A Cookie AWeb y[WŃ[U[I 5 ̐F\Ƃ܂BCookie ̂̂ <span class="LITERAL">Colors</span> ƂOɂȂATuL[́A<span class="LITERAL">color1</span>A<span class="LITERAL">color2</span>A. . . <span class="LITERAL">color5</span> ƂOɂȂ܂B<span class="LITERAL">color3</span> ɂl𒲂ׂɂ́ÃR[hgp܂B</p>




<span class="PROGRAMLISTING"><pre>strColor3 = Request.Cookies("Colors")("color3")</pre></span>




<p> Cookie ɃTuL[邩ǂ𒲂ׂɂ́A
̂悤ɁA̓ Cookie  <!--<primary>HasKeys property, Cookies collection
(Request)</primary>-->HasKeys vpeBgpKv܂B</p>




<span class="PROGRAMLISTING"><pre>blnHasKeys = Request.Cookies("Colors").HasKeys
If blnHasKeys Then
   strColor3 = Request.Cookies("Colors")("color3")
End If</pre></span>



</td>
</tr>
<tr><td colspan="2" class="CLEARSEPARATION">&nbsp;</td></tr>
<tr>
<td colspan="2" class="DESCRIPTIONTITLE"></td>
</tr>
<tr>
<td colspan="2" class="description">




<span class="PROGRAMLISTING"><pre>&lt;% 
' The following code iterates through the Cookies collection.
' If a given cookie represents a cookie dictionary, then
' a second, internal for...each construct iterates through
' it retrieving the value of each subkey in the dictionary.
Dim strCookie
Dim strSubKey

Dim str3rdCookieValue
Dim strCompanyCookieValue

For Each strCookie In Request.Cookies
   If Request.Cookies(strCookie).HasKeys Then

      ' The cookie is a dictionary. Iterate through it.
%&gt;
      The cookie dictionary &lt;%=strCookie%&gt; has the
      following values:
&lt;%
      For Each strSubKey In Request.Cookies(strCookie)
%&gt;
         &amp;nbsp; &amp;nbsp; SubKey: &lt;%= strSubKey %&gt;&lt;BR&gt;
         &amp;nbsp; &amp;nbsp; Value:
         &lt;%=Request.Cookies(strCookie)(strSubKey)%&gt;&lt;BR&gt;
&lt;%      
      Next
   Else
      ' The cookie represents a single value.
%&gt;
      The cookie &lt;%=strCookie%&gt; has the following value:
      &lt;%=Request.Cookies(strCookie)%&gt; &lt;BR&gt;
&lt;%
   End If

Next

' The following code retrieves the value of the third cookie
' in the Cookies collection.
str3rdCookieValue = Request.Cookies(3)

' The following code retrieves the value of the "company" 
' cookie in the Cookies collection.
strCompanyCookieValue = Request.Cookies("Company")

%&gt;</pre></span>




</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="DESCRIPTIONTITLE"></td>
</tr>
<tr>
<td colspan="2" class="description">




<p>Cookie \ Cookie ɃANZXꍇATuL[w肵ȂƂ́Â悤ȕl擾܂B</p>




<span class="PROGRAMLISTING"><pre>FirstSubKey=FirstSubKeyValue&amp;SecondSubKey=SecondSubKeyValue</pre></span>




<p>NCAgRs[^ Cookie \̈ꕔɁANCAg Cookie 󂯎 Web y[W\pX܂BOŃpXقȂ 2  Cookie ݂ꍇACookie l̎擾Ɋւdvȓ_܂B̂悤ȏꍇACookie 擾悤ƂƁA[Kw̃fBNg Cookie ݂̂擾܂BƂ΁AWeb y[W <em>http://www.MyCompany.com/ContribApp/Contrib1.ASP</em>  <span class="LITERAL">UserPref</span> ƂO Cookie A2 Ԗڂ Web y[W <em>http://www.MyCompany.com/ContribApp/Addresses/AddrContrib1.ASP</em> Ƃɐ[Kw <span class="LITERAL">UserPref</span> ƂO Cookie ꍇA<span class="LITERAL">UserPref</span> Cookie 擾悤ƂƁA2 Ԗڂ <span class="LITERAL">UserPref</span> Cookie ݂̂擾܂B</p>




<p>Cookie \ĂȂ Cookie ̃TuL[̒l擾悤ƂƁAʂ null ɂȂ܂B̂߁ATuL[̒l擾悤ƂOɁAHasKeys vpeB𗘗p邱ƂdvłB</p>




<p>HTTP Persistent Client State Mechanism (Cookie) ́AɔWĂ銩łBCookie ̑Ă 6 ̂ݗLłB{}jA̍쐬_ł̑Ă <systemitem role="url">ftp://ftp.isi.edu/internet-drafts/draft-ietf-http-state-man-mec-08.txt</systemitem> ŎQƂł܂B</p>




<p>̃hLg܂͍ŐVł́ACookie dl̍ŐV̑ĂANetscape Ă͈͂͂邩ɒĂ邱Ƃ킩܂BRequest IuWFNǧ݂ Cookies RNV́A̎dl̈ꕔT|[gĂ邾łBĂWƂ́ARequest IuWFNg Cookies RNVʂāACookie ̂葽̋@\𗘗pł悤ɂȂƍl܂B  </p>




</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
</table>
</div>
<div id="Form">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr valign="top">
<td class="NAME">
Form</td>
<td class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
</tr>
<tr>
<td class="usage" colspan="2"><span class="PROGRAMLISTING"><pre>&lt;FORM ACTION = "RecordPrefs.asp" METHOD = POST&gt;
Name: &lt;INPUT TYPE = TEXT NAME = "Name"&gt;&lt;BR&gt;
Color Pref: &lt;SELECT NAME = "optColor"&gt;
&lt;OPTION VALUE = "red" SELECTED&gt;Red
&lt;OPTION VALUE = "blue" &gt;Blue
&lt;OPTION VALUE = "green" &gt;Green   
&lt;/SELECT&gt;&lt;BR&gt;
Have a Modem? &lt;INPUT TYPE = CHECKBOX NAME = "Modem"&gt;&lt;BR&gt;
&lt;INPUT TYPE=submit VALUE=submit&gt;
&lt;/FORM&gt;</pre></span></td></tr>
<tr><td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr><td colspan="2" class="description">
<p><!--<primary>Form collection
(Request)</primary>--> <!--<primary>forms</primary>-->Form RNVgpƁANCAg HTML tH[ɓ͂ <span class="LITERAL">POST</span> \bhgpăT[o[ɑMꂽ擾ł܂B̏́ANCAgM HTTP v̖{ɂ܂B</p>




<p>Form RNVɂ́A ASP RNVƓ悤ɁÃvpeB܂B</p>




<dl>
<dt>Item</dt>
<dd><p><!--<primary>Item property</primary><secondary>Form
collection</secondary>-->RNV̗̓vf̒l\܂BACew肷ɂ́ACfbNXԍ܂̓L[gp܂BForm RNV̏ꍇACfbNXԍ HTML tH[̗vf̔ԍ\܂BƂ΁A HTML tH[Ƃ܂B</p>




<span class="PROGRAMLISTING"><pre>&lt;FORM ACTION = "RecordPrefs.asp" METHOD = POST&gt;
Name: &lt;INPUT TYPE = TEXT NAME = "Name"&gt;&lt;BR&gt;
Color Pref: &lt;SELECT NAME = "optColor"&gt;
&lt;OPTION VALUE = "red" SELECTED&gt;Red
&lt;OPTION VALUE = "blue" &gt;Blue
&lt;OPTION VALUE = "green" &gt;Green   
&lt;/SELECT&gt;&lt;BR&gt;
Have a Modem? &lt;INPUT TYPE = CHECKBOX NAME = "Modem"&gt;&lt;BR&gt;
&lt;INPUT TYPE=submit VALUE=submit&gt;
&lt;/FORM&gt;</pre></span>




<p><filename>RecordPrefs.ASP</filename> ́Aŏ̗vf (vf 1)  "Name" ɂȂ܂B3 Ԗڂ̗vf "Modem" łB̐ 1 n܂܂B</p></dd>




<dt>Key</dt>
<dd><p><!--<primary>Key property</primary><secondary>Form
collection</secondary>-->Form RNV̗̓vf̖O\܂Bevf̒l Item vpeBŕ\悤ɁAevf̖O Key vpeBŕ\܂B</p>




<p>̃L[̖Osȏꍇ́AQƂgpĎ擾ł܂BƂ΁ARNVɊ܂܂ 3 Ԗڂ̗vf̃L[擾ĂA̗vf̒l擾Ƃ܂B̏ꍇ́ÃR[hgpł܂B</p>




<span class="PROGRAMLISTING"><pre>strKeyName = Request.Form.Key(3)
strKeyValue = Request.Form.Item(strKeyName)</pre></span>




<p>A3 Ԗڂ̗vf̃L[ "STATE" łƂ킩Ăꍇ́ÃR[hgpĂ̗vf̒l擾ł܂B</p>




<span class="PROGRAMLISTING"><pre>strKeyValue = Request.Form.Item("STATE")</pre></span>




<p>Form vfۑ鏇́AɐMłƂ͌܂BƂ΁AMtH[ 8 ̃ACeƂ܂B̏ꍇAtH[̍ŏ̗vfAForm RNV̍ŏ̗vfłƂ͌܂B̂߁AړI Form RNV̗̓vfʂɂ́AɃL[gpKv܂B</p></dd>




<dt>Count</dt>
<dd><p><!--<primary>Count property</primary><secondary>Form
collection</secondary>-->RNVɊ܂܂vf̐Ԃ܂B</p></dd>

</dl>




<p> ASP RNVƓ悤ɁAItem vpeBgp邱ƂɂAForm RNV̔Cӂ̃tB[h̒l擾ł܂Bȉ̗Ɛł́A\ZkĂ̂ŁAItem vpeB̎gp𖾎IɎĂ킯ł͂܂Bɗ܂B</p>




<span class="PROGRAMLISTING"><pre>strFirstName = Request.Form("txtFirstName")</pre></span>




<p>̃R[h́ÃR[h̒Zk`łB</p>




<span class="PROGRAMLISTING"><pre>strFirstName = Request.Form.Item("txtFirstName")</pre></span>




<tip id="ch07-28-fm2xml" role="ora">
<p>RNV Item vpeBAKey vpeBA Count vpeB̏ڍׂɂẮA<link linkend="ch04-40130"> 4 </link> <link linkend="ch04-3-fm2xml">4.2 </link>QƂĂB</p>



</tip>
</td>
</tr>
<tr>
<td colspan="2" class="DESCRIPTIONTITLE"></td>
</tr>
<tr>
<td colspan="2" class="description">




<p>Request IuWFNg Form RNV̗ł́AׂĎ HTML tH[gp܂B</p>




<span class="PROGRAMLISTING"><pre>&lt;HTML&gt;
&lt;HEAD&gt;
&lt;TITLE&gt;User Information&lt;/TITLE&gt;
&lt;/HEAD&gt;
&lt;BODY&gt;
&lt;CENTER&gt;
&lt;H1&gt;User Information&lt;/H1&gt;
Please enter your user information using the form below:
&lt;FORM NAME = "frmInfo" ACTION="UserInfo.ASP" 
      METHOD = "POST"&gt;
First Name:  &lt;INPUT TYPE="text" NAME = "txtFirstName"&gt;&lt;BR&gt;
Last Name:   &lt;INPUT TYPE="text" NAME = "txtLastName"&gt;&lt;BR&gt;
Zipcode:     &lt;INPUT TYPE="text" NAME = "txtZipCode"&gt;&lt;BR&gt;
Occupation:  &lt;INPUT TYPE="text" NAME = "txtOccupation"&gt;&lt;BR&gt;
Please select your connection speed:
&lt;SELECT NAME = "optConnSpeed"&gt;
&lt;OPTION VALUE = "28.8" SELECTED&gt;28.8 Modem
&lt;OPTION VALUE = "ISDN" &gt;ISDN
&lt;OPTION VALUE = "T1" &gt;T1   
&lt;OPTION VALUE = "T3" &gt;T3
&lt;/SELECT&gt;&lt;BR&gt;
Below, select all the peripherals you have: 
&lt;INPUT TYPE = "checkbox" NAME = "chkPeriph" 
       VALUE = "Joystick"&gt;Joystick&lt;BR&gt;
&lt;INPUT TYPE = "checkbox" NAME = "chkPeriph" 
       VALUE= "GraphicsAccel"&gt;3D Graphics Card&lt;BR&gt;
&lt;INPUT TYPE = "checkbox" NAME = "chkPeriph" 
        VALUE = "Printer"&gt;Printer&lt;BR&gt;
&lt;BR&gt;
Check here if it's ok to send your information: 
&lt;INPUT TYPE = "checkbox" NAME = "chkSellInfo"&gt;&lt;BR&gt;

&lt;INPUT TYPE = "Submit" VALUE = "Submit User Info"&gt;

&lt;/FORM&gt;
&lt;/BODY&gt;
&lt;/HTML&gt;</pre></span>




<p>NCAgtH[ [Submit] {^NbNƁAHTTP  Post \bhʂāAHTTP v̖{ŃtH[̏ Web T[o[ɑM܂B</p>




<p>̃R[hł́A<filename>UserInfo.ASP</filename> ŎgpāAOq̗̃tH[ <span class="LITERAL">frmInfo</span> œ̗vf̒l𒲂ׂ邱Ƃł܂B̃R[hł́AR[hLqOɁAtH[ŏtB[h𐳊mɔcĂKv܂B</p>




<span class="PROGRAMLISTING"><pre>&lt;%

' The following code example demonstrates the use of
' the Form collection of the Request object to retrieve
' the values entered by the client into an HTML form.
Dim strFirstName
Dim strLastName
Dim strZipCode
Dim strOccupation
Dim blnSendInfo
Dim strConnSpeed
Dim intPeriphCount
Dim aryPeripherals( )
Dim chkItem

intPeriphCount = 0

' Retrieve the information from the form's text boxes.
strFirstName    = Request.Form("txtFirstName")
strLastName     = Request.Form("txtLastName")
strZipCode      = Request.Form("txtZipCode")
strOccupation   = Request.Form("txtOccupation")

' Retrieve the information from the Sell Information
' checkbox.
blnSendInfo     = Request.Form("chkSellInfo")

' Determine the connection speed from the Connection
' Speed option buttons.
strConnSpeed    = Request.Form("optConnSpeed")

' Populate an array with the peripherals the user has.
For Each SubKey in Request.Form("chkPeriph")
   ReDim Preserve aryPeripherals(intPeriphCount + 1)
   intPeriphCount = intPeriphCount + 1
   aryPeripherals(intPeriphCount) = _
      Request.Form("chkPeriph")(intPeriphCount)

Next
%&gt;</pre></span>




</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="DESCRIPTIONTITLE"></td>
</tr>
<tr>
<td colspan="2" class="description">




<p>CfbNXgpɗvfQƂA̗vfɕ̒l܂܂ĂꍇAR}؂蕶񂪕Ԃ܂BƂ΁A{͂őOq Form RNV <span class="LITERAL">chkPeriph</span> vfƋɃTuL[gpɁÃR[hs}Ƃ܂B</p>




<span class="PROGRAMLISTING"><pre>response.write Request.Form("chkPeriph")</pre></span>




<p>3 ׂẴIvV (<span class="LITERAL">Joystick</span>A<span class="LITERAL">GraphicsAccel</span>A <span class="LITERAL">Printer</span>) IƂƁÃR[hsɂĎ̕񂪔܂B</p>




<span class="PROGRAMLISTING"><pre>Joystick, GraphicsAccel, Printer</pre></span>




<p>AvP[Vł́ANCAg HTTP v疢̓f[^擾邱Ƃł܂BHTTP v̖{疢̓f[^擾ɂ́Ap[^gp Request.Form gp܂B͂ HTTP v (ɃoCif[^) ̕@ŎgpƁA肪邱Ƃ܂BAoCif[^IɎ擾邽߂Ɏgp\ȁA ActiveX Rg[ Java Avbg܂B</p>




<p>HTML tH[ ASP AvP[Vɏ𑗐Mɂ́A<span class="LITERAL">&lt;FORM&gt;</span> ^O <span class="LITERAL">ACTION</span><!--<primary>ACTION attribute
()</primary>--> <!--<primary sortas="FORM tags">tags</primary><secondary>ACTION
attribute</secondary>--> AHTML tH[f[^t@C̖Oɐݒ肷Kv܂B Active Server Page ́AzfBNgɒuAzfBNggpĎwł܂B HTML y[WA܂͑
<!--<primary>ASP
(Active Server Pages)</primary><secondary>scripts calling
themselves</secondary>-->ASP t@CsƂł܂BÃvZX̍ł͂Ȏgp@ 1 ́AvZXgĂяo ASP 쐬邱ƂłB̕@͕Kł͂܂񂪁AIłB</p>




<p>̗ł́A ASP ɂē̓f[^ HTML tH[쐬AP ASP ܂B</p>




<span class="PROGRAMLISTING"><pre>&lt;%
' UserInfo2.ASP
' The following code determines whether the HTML form (see  
' the bottom portion of the script) has been filled out. If 
' it has, then some processing takes place and one HTML output  
' is sent back to the client. If not, the HTML form is sent to 
' the client.
If Not IsEmpty(Request.Form("txtFirstName")) And _
   Not IsEmpty(Request.Form("txtLastName")) Then

   ' The form has been filled out and the reply is
   ' a brief thank you.
%&gt;
   &lt;HTML&gt;
   &lt;HEAD&gt;&lt;TITLE&gt;Thank You&lt;/TITLE&gt;
   &lt;/HEAD&gt;
   &lt;BODY&gt;
   Thank you, &lt;%= Request.Form("txtFirstName")%&gt;&amp;nbsp 
&lt;%= Request.Form("txtLastName")%&gt; for your information. 
Have a nice day.
   &lt;/BODY&gt;
   &lt;/HTML&gt;
&lt;%
Else
%&gt;
   &lt;HTML&gt;
   &lt;HEAD&gt;&lt;TITLE&gt;Thank You&lt;/TITLE&gt;
   &lt;/HEAD&gt;
   &lt;BODY&gt;
   
   &lt;FORM NAME = "frmInfo" ACTION="UserInfo2.ASP" 
         METHOD = "POST"&gt;
   First Name:  &lt;INPUT TYPE="text" NAME="txtFirstName"&gt;&lt;BR&gt;
   Last Name:   &lt;INPUT TYPE="text" NAME="txtLastName"&gt;&lt;BR&gt;

   &lt;INPUT TYPE = "Submit" VALUE = "Submit User Info"&gt;
   
   &lt;/FORM&gt;
   &lt;/BODY&gt;
   &lt;/HTML&gt;
&lt;%
End If

%&gt;</pre></span>




<p>̃XNvǵANCAgŃtH[vfւ̓͂sꂽǂŏɒׂ܂B͂sꂽꍇAXNvg̓NCAgɒZ "ӎ" 𑗐MďI܂B͂sȂꍇ́A[U[ɃtH[\܂Bł͏IȃtH[gp܂񂪁A̋Z@͔ɋ͂łAASP AvP[VJōȍƂƂȂ邱ƂAR[h̃W[Ŕɖ𗧂܂B</p>




<p>W HTML tH[vfɉ (܂͂̑) <!--<primary>ActiveX controls, HTML
forms with</primary>-->ActiveX Rg[ HTML tH[Ɋ܂܂Ăꍇ́A@ł̒lQƂł܂BƂ΁A1  Microsoft Forms 2.0 eLXg{bNX܂ށA̒P HTML tH[Ƃ܂B</p>




<span class="PROGRAMLISTING"><pre>&lt;FORM NAME = "frmInfo" ACTION="UserInfo.ASP" 
      METHOD = "POST"&gt;
First Name:   
&lt;OBJECT NAME = "txtFirstName" WIDTH=211 HEIGHT=20
   CLASSID="CLSID:8BD21D10-EC42-11CE-9E0D-00AA006002F3"&gt;
   &lt;PARAM NAME="VariousPropertyBits" VALUE="746604571"&gt;
   &lt;PARAM NAME="BackColor" VALUE="16777215"&gt;
   &lt;PARAM NAME="MaxLength" VALUE="255"&gt;
   &lt;PARAM NAME="Size" VALUE="5574;529"&gt;
   &lt;PARAM NAME="Value" VALUE="&gt;
   &lt;PARAM NAME="BorderColor" VALUE="0"&gt;
   &lt;PARAM NAME="FontCharSet" VALUE="0"&gt;
   &lt;PARAM NAME="FontPitchAndFamily" VALUE="2"&gt;
   &lt;PARAM NAME="FontWeight" VALUE="0"&gt;
&lt;/OBJECT&gt;
&lt;INPUT TYPE = "Submit" VALUE = "Submit User Info"&gt;

&lt;/FORM&gt;</pre></span>




<p>̃R[hsgpāA<filename>UserInfo.ASP</filename> eLXg{bNXɓ͂ꂽlQƂł܂B</p>




<span class="PROGRAMLISTING"><pre>strFirstName = Request.Form("txtFirstName")</pre></span>




<p>NCAgTChXNvggpČ؂l ActiveX Rg[܂܂ꂽ HTML tH[ꍇ́AM{^ȂǁAǂ̗vfɂASubmit ƂO܂܂ĂȂ悤ɂKv܂Bׂ͍ȂƂ̂悤łAƂƁAtH[𑗐MłȂȂ܂BmFĂ݂ĂB</p>




<p>Form RNṼf[^́AHTTP v̖{̃f[^݂̂\܂BHTTP  <span class="LITERAL">Get</span> \bhgpāANCAgT[o[Ƀf[^𑗐M邱Ƃł܂B<span class="LITERAL">Get</span> gpƁANCAg̏ HTTP vwb_őM܂B̃f[^擾ɂ́ARequest IuWFNg QueryString RNVgpKv܂B </p>




</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
</table>
</div>
<div id="QueryString">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr valign="top">
<td class="NAME">
QueryString</td>
<td class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
</tr>
<tr>
<td class="usage" colspan="2"><span class="PROGRAMLISTING"><pre>strKeyName = Request.QueryString.Key(3)
strKeyValue = Request.QueryString.Item(strKeyName)</pre></span></td></tr>
<tr><td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr><td colspan="2" class="description">
<p><!--<primary>QueryString collection
(Request)</primary>--> <!--<primary>GET request
type</primary><secondary>retrieving data sent
with</secondary>-->QueryString RNVgpƁANCAg HTML tH[ <span class="LITERAL">Get</span> \bhgpăy[WvƂɁA URL ɒǉꂽf[^擾ł܂BQueryString RNV Form RNV@\ႭȂĂ܂B́AHTTP ṽwb_őMf[^̗ʂɐ邽߂łBoA̐͂悻 2000 łBȏ̐̕ QueryString ̈ꕔƂđMĂA͏܂BAXNvg̎s͌p܂B</p>




<p>QueryString RNVɂ́A ASP RNVƓ悤ɁÃvpeB܂B</p>




<dl>
<dt>Item</dt>
<dd><p><!--<primary>Item property</primary><secondary>QueryString
collection</secondary>-->RNV̗̓vf̒lԂ܂BACew肷ɂ́ACfbNXԍ܂̓L[gp܂BQueryString RNV̏ꍇACfbNXԍ URL Ɏw肳vf̔ԍA܂ HTML tH[̗vf̔ԍ\܂ (f[^̑M <span class="LITERAL">GET</span> \bhgpꍇ)BAtH[f[^̑M <span class="LITERAL">POST</span> \bhgpꍇA HTML vf QueryString RNVɂ݂͑ARequest IuWFNg Form RNVɑ݂܂B</p></dd>




<dt>Key</dt>
<dd><p><!--<primary>Key property</primary><secondary>QueryString
collection</secondary>-->QueryString RNV̗̓vf̖OԂ܂Bevf̒l Item vpeBŕ\̂Ɠ悤ɁAevf̖O Key vpeBŕ\܂B</p>




<p>̃L[̖Osȏꍇ́AQƂgpĎ擾ł܂BƂ΁ARNVɊ܂܂ 3 Ԗڂ̗vf̃L[擾ĂA̗vf̒l擾Ƃ܂B̏ꍇ́ÃR[hgpł܂B</p>




<span class="PROGRAMLISTING"><pre>strKeyName = Request.QueryString.Key(3)
strKeyValue = Request.QueryString.Item(strKeyName)</pre></span>




<p>A3 Ԗڂ̗vf̃L[ "STATE" łƂ킩Ăꍇ́ÃR[hgpĂ̗vf̒l擾ł܂B</p>




<span class="PROGRAMLISTING"><pre>strKeyValue = Request.QueryString.Item("STATE")</pre></span></dd>




<dt>Count</dt>
<dd><p><!--<primary>Count property</primary><secondary>QueryString
collection</secondary>-->RNVɊ܂܂vf̐B</p></dd>

</dl>




<p> ASP RNVƓ悤ɁAItem vpeBgp邱ƂɂAQueryString RNV̔Cӂ̃tB[h̒l擾ł܂Bȉ̗Ɛł́A\ZkĂ̂ŁAItem vpeB̎gp𖾎IɎĂ킯ł͂܂Bɗ܂B</p>




<span class="PROGRAMLISTING"><pre>strFirstName = Request.QueryString("FirstName")</pre></span>




<p>̃R[h́ÃR[h̒Zk`łB</p>




<span class="PROGRAMLISTING"><pre>strFirstName = Request.QueryString.Item("FirstName")</pre></span>




<tip id="ch07-32-fm2xml" role="ora">
<p>RNV Item vpeBAKey vpeBA Count vpeB̏ڍׂɂẮA<link linkend="ch04-40130"> 4 </link> <link linkend="ch04-3-fm2xml">4.2 </link>QƂĂB</p>



</tip>
</td>
</tr>
<tr>
<td colspan="2" class="DESCRIPTIONTITLE"></td>
</tr>
<tr>
<td colspan="2" class="description">




<span class="PROGRAMLISTING"><pre>&lt;% 
' This code iterates through the QueryString collection
' and fills an array with the values retrieved.
Dim item
Dim aryQueryValues( )
Dim intItemCount

intItemCount = 0

For Each item In Request.QueryString
   ReDim Preserve aryQueryValues(intItemCount + 1)
   aryQueryValues(intItemCount) = _ 
                  Request.QueryString(item)
   intItemCount = intItemCount + 1
Next
%&gt;</pre></span>




</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="DESCRIPTIONTITLE"></td>
</tr>
<tr>
<td colspan="2" class="description">




<p>Form RNV̗vfƓ悤ɁAQueryString RNV̗vf̒l\Ƃł܂BƂ΁AASP t@C HTML tH[̑M󂯎Ƃ܂B</p>




<span class="PROGRAMLISTING"><pre>&lt;FORM NAME = "frmInfo" ACTION="UserInfo2.ASP" 
      METHOD = "GET"&gt;
Below, select all the peripherals you have: 
&lt;INPUT TYPE = "checkbox" NAME = "chkPeriph" VALUE = 
   "Joystick"&gt;Joystick&lt;BR&gt;
&lt;INPUT TYPE = "checkbox" NAME = "chkPeriph" VALUE=
   "GraphicsAccel"&gt;3D Graphics Card&lt;BR&gt;
&lt;/FORM&gt;</pre></span>




<p>[U[̃`FbN{bNXIɂƂ܂Bʂ̏́A URL gp ASP vꂽ̂悤ɁAASP ŊSɉ߂܂B</p>




<span class="PROGRAMLISTING"><pre>UserInfo2.ASP?chkPeriph=Joystick&amp;chkPeriph=GraphicsAccel</pre></span>




<p>ŏ̗vfQƂɂ́ÃR[hgp܂B ASP RNVƓ悤ɁAvf 1 Ŏn܂܂B</p>




<span class="PROGRAMLISTING"><pre>strFirstOption = Request.QueryString("chkPeriph")(1)</pre></span>




<p>̂悤ɁATuL[w肵ȂƂ܂B</p>




<span class="PROGRAMLISTING"><pre>strOptions = Request.QueryString("chkPeriph")</pre></span>




<p>̏ꍇA<var class="replaceable">strOptions</var> ɂ͎̒l܂܂܂B</p>




<span class="PROGRAMLISTING"><pre>Joystick, GraphicsAccel</pre></span>




<p>QueryString RNVɂ́AForm RNVƓ悤ɁANCAg Web T[o[ɑMꂽ񂪊܂܂܂B̏̌`ƂẮAHTTP vwb_ŗvꂽ URL ̍Ōɒǉ "p[^/l" ̃yAAuEŨAhXtB[h URL ɒǉ "p[^/l" ̃yAA܂̓ANV HTTP  <span class="LITERAL">Get</span> \bhɐݒ肳 HTML tH[ "p[^/l" ̃yÅe`܂B</p>




<p><!--<primary>size</primary><secondary>QueryString collection
length limit</secondary>--> <!--<primary>QueryString
collection (Request)</primary><secondary>length
limit</secondary>--> <!--<primary>comments and
troubleshooting</primary><secondary>QueryString collection
length</secondary>-->QueryString RNV̎gpɂ͂̐܂ÂłdvȂ̂͒̐łB̒̓NCAg Web T[o[ŗpł郁eʂɂĈقȂ܂AQueryString RNVgpăNCAgT[o[ ~1800 𒴂镶𑗐MłƌނƂ͂ł܂B ~1800  "" ́AMp[^̒lłȂO܂݁Avꂽ URL ɒǉꂽp[^Xg̍ŌɌĂяoꂽXNvg̍Ōォ琔lłB</p>




<p>Form RNV̗vfƓ悤ɁAQueryString RNV̗vf̒l܂ނƂł܂BRNV̗̓vfŗpłl̐𒲂ׂɂ́A
vf <!--<primary>Count property</primary><secondary>QueryString
collection</secondary>-->Count vpeBgp܂BCount vpeB̒ĺAvfɊ܂܂Ăl̐ɓȂAvfRNVɂȂꍇ 0 ɂȂ܂B</p>




<p>̗vf̃CfbNXp[^w肵ȂƂɂA̒lvfׂ̂Ă̒l擾ł܂BĺAΏۂ̗vf̒l݂̂܂ށAR}؂蕶ƂĕԂ܂B</p>




<p>Form RNVƓ悤ɁAQueryString RNV̖̓f[^擾ł܂BHŖ͂ QueryString RNVf[^擾ɂ́Avf̃p[^w肹 Request.QueryString \gp܂B</p>




<p>QueryString RNṼf[^́A<span class="LITERAL">HTTP_QUERYSTRING</span><!--<primary>HTTP_QUERYSTRING
parameter</primary>--> <!--<primary>ServerVariables
collection (Request)</primary><secondary>accessing QueryString
collection data</secondary>-->
<!--<primary>QueryString collection
(Request)</primary><secondary>accessing data with
ServerVariables</secondary>--> p[^gpāARequest IuWFNg ServerVariables RNVANZXł܂B̏ڍׂɂẮAServerVariables RNV̍Ő܂B</p>




<p>ŌɁAQueryString Ŏgpꍇ́A̓ꕶGR[hKv܂B</p>




<dl>
<dt><span class="LITERAL">&amp;</span></dt>
<dd><p>ApTh́AQueryString RNVɒǉꂽʂ "p[^/l" ̃yALq邽߂Ɏgp܂B</p></dd>




<dt><span class="LITERAL">?</span></dt>
<dd><p>^╄́ANCAg URL ŗvꂽt@C̊gq̌ɒǉ QueryString ̐擪܂B</p></dd>




<dt><span class="LITERAL">%</span></dt>
<dd><p>p[ZgĹA̓ꕶ̃GR[hŎgp܂B</p></dd>




<dt><span class="LITERAL">+</span></dt>
<dd><p>vXĹAQueryString ł̓Xy[X\̂ƂĔF܂B</p></dd>

</dl>




<p>́̕AT[o[ Server IuWFNgAуNCAg̃JX^XNvg URLEncode \bh HTMLEncode \bhgpĎIɃGR[hł܂B </p>




</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
</table>
</div>
<div id="ServerVariables">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr valign="top">
<td class="NAME">
ServerVariables</td>
<td class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
</tr>
<tr>
<td class="usage" colspan="2"><span class="PROGRAMLISTING"><pre>strKeyName = Request.ServerVariables.Key(3)
strKeyValue = Request.ServerVariables.Item(strKeyName)</pre></span></td></tr>
<tr><td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr><td colspan="2" class="description">
<p><!--<primary>ServerVariables collection
(Request)</primary>--> <!--<primary>web
servers</primary><secondary>environment variables
for</secondary>--> <!--<primary>environment
variables</primary><secondary sortas="web servers">for web
servers</secondary>--> <!--<primary>variables</primary><secondary>web
server environment</secondary>-->ServerVariables RNVł́ANCAgɂ Web T[o[ɑ΂ HTTP ṽReLXgŁAO`ꂽ̊ϐ܂܂܂B</p>




<p>ServerVariables  RNVɂ́A ASP RNVƓ悤ɁÃvpeB܂B</p>




<dl>
<dt>Item</dt>
<dd><p><!--<primary>Item property</primary><secondary>ServerVariables
collection</secondary>-->RNV̗̓vf̒lBACew肷ɂ́ACfbNXԍ܂̓L[gp܂B</p></dd>




<dt>Key</dt>
<dd><p><!--<primary>Key property</primary><secondary>ServerVariables
collection</secondary>-->ServerVariables RNV̗̓vf̖OԂ܂Bevf̒l Item vpeBŕ\̂Ɠ悤ɁAevf̖O Key vpeBŕ\܂B</p>




<p>̃L[̖Osȏꍇ́AQƂgpĎ擾ł܂BƂ΁ARNVɊ܂܂ 3 Ԗڂ̗vf̃L[擾ĂA̗vf̒l擾Ƃ܂B̏ꍇ́ÃR[hgpł܂B</p>




<span class="PROGRAMLISTING"><pre>strKeyName = Request.ServerVariables.Key(3)
strKeyValue = Request.ServerVariables.Item(strKeyName)</pre></span>




<p>A3 Ԗڂ̗vf̃L[ "QUERY_STRING" łƂ킩Ăꍇ́ÃR[hgpĂ̗vf̒l擾ł܂B</p>




<span class="PROGRAMLISTING"><pre>strKeyValue = _
          Request.ServerVariables.Item("QUERY_STRING")</pre></span>




<p>܂́ÃR[hgp܂B</p>




<span class="PROGRAMLISTING"><pre>strKeyValue = Request.ServerVariables("QUERY_STRING")</pre></span></dd>




<dt>Count</dt>
<dd><p><!--<primary>Count
property</primary><secondary>ServerVariables
collection</secondary>-->RNVɊ܂܂vf̐B</p></dd>

</dl>




<p> ASP RNVƓ悤ɁAItem vpeBgp邱ƂɂAServerVariables RNV̔Cӂ̃tB[h̒l擾ł܂Bȉ̗Ɛ (ё̃\[X̗̂قƂ) ł́A\ZkĂ̂ŁAItem vpeB̎gp𖾎IɎĂ킯ł͂܂Bɗ܂B</p>




<span class="PROGRAMLISTING"><pre>strRemoteAddr = Request.ServerVariables("REMOTE_ADDR")</pre></span>




<p>̃R[h́ÃR[h̒Zk`łB</p>




<span class="PROGRAMLISTING"><pre>strRemoteAddr = Request.ServerVariables.Item("REMOTE_ADDR")</pre></span>




<tip id="ch07-36-fm2xml" role="ora">
<p>RNV Item vpeBAKey vpeBA Count vpeB̏ڍׂɂẮA<link linkend="ch04-40130"> 4 </link> <link linkend="ch04-3-fm2xml">4.2 </link>QƂĂB</p>



</tip>

<p><var class="replaceable">Key</var> ̎gp\ȒlÃXgɎ܂BʏA̒l͑啶ŕ\܂A<var class="replaceable">Key</var> ł͎ۂɂ͑啶Ə͋ʂ܂B ASP AvP[V̗vfƓ悤ɁAServerVariables RNV̗vf́ACfbNXԍgpĎ擾ł܂BÃXǵAvf ServerVariables RNVɑ݂鏇ł͂ȂAAt@xbgɂȂĂ邱ƂɒӂKvłB</p>



<!--<primary>ALL_HTTP element (ServerVariables)</primary>-->
<dl>
<dt>ALL_HTTP</dt>
<dd><p><!--<primary>headers,
HTTP</primary><secondary>ServerVariables elements
for</secondary>--> <!--<primary>HTTP (Hypertext Transfer
Protocol)</primary><secondary>ServerVariables elements for
headers</secondary>-->NCAg̃uEUMAׂĂ HTTP wb_܂ 1 ̒B̊evf́A̗vf͂ł܂B</p></dd>




<dt>ALL_RAW</dt>
<dd><p><!--<primary>ALL_RAW element
(ServerVariables)</primary>-->NCAg̃uEUMȀԂłׂĂ HTTP wb_܂ 1 ̒B<span class="LITERAL">ALL_RAW</span> l <span class="LITERAL">ALL_HTTP</span> l̎ȈႢ́A<span class="LITERAL">ALL_HTTP</span> vf̒lɂׂ͂Đړ <span class="LITERAL">HTTP_</span> tAwb_͏ɑ啶ɂȂ邱ƂłB̊evf́A̗vf͂ł܂B</p></dd>



<!--<primary>APPL_MD_PATH element (ServerVariables)</primary>-->
<dt>APPL_MD_PATH</dt>
<dd><p>IIS <!--<primary>metabase,
IIS</primary>--> <!--<primary>IIS
metabase</primary>-->^x[X́AIɂ̓T[o[ׂ̂Ă̐ݒێ܂B^x[X̋@\́AMicrosoft ǗR\[ (Microsoft Management Console) ɃXibvCƂĒǉꂽACeɊւ񂾂ێ邱ƈȊÓAWXgɎĂ܂Bɂ́AInternet Information ServerAIndex ServerASQL Server 7.0 Ȃǂ܂܂܂B^x[X̏́AقƂǃCXg[э\񂾂\܂B</p>




<p>ServerVariables RNV <span class="LITERAL">APPL_MD_PATH</span> vf́A
<!--<primary>ISAPI DLL, metabase-specific path
for</primary>-->ISAPI DLL ̃^x[XŗL̃pX\܂B́AT[o[̕Iȏꏊł͂ȂAISAPI DLL ̌ĂяoƂȂ郁^x[XpXłBƂ΁APersonal Web Server sĂ Windows 95 Rs[^ł́A̗vf̒l͎̂悤ɂȂ܂B</p>




<span class="PROGRAMLISTING"><pre>/LM/W3SVC/1/ROOT</pre></span></dd>




<dt>APPL_PHYSICAL_PATH</dt>
<dd><p><!--<primary>APPL_PHYSICAL_PATH element
(ServerVariables)</primary>--><span class="LITERAL">APPL_MD_PATH</span> vf̕pXB̒ĺAIIS ɂ <span class="LITERAL">APPL_MD_PATH</span> ̕ϊ擾܂BƂ΁AOq̃VXeł́A<span class="LITERAL">C:\Inetpub\wwwroot\</span> ɕϊ܂B</p></dd>




<dt>AUTH_PASSWORD</dt>
<dd><p><!--<primary>AUTH_PASSWORD element
(ServerVariables)</primary>-->IIS ̃ZLeB{F؂ɐݒ肳ꂽꍇA<span class="LITERAL">AUTH_PASSWORD</span> ́ANCAg Web T[o[ɃOCƂɔF؃{bNXɓ͂ꂽ
<!--<primary>password for authentication</primary>-->
<!--<primary>authentication information in HTTP
request</primary>-->pX[h\܂BpX[h͂ĂȂꍇA̒l null ɂȂ܂B</p></dd>




<dt>AUTH_TYPE</dt>
<dd><p><!--<primary>AUTH_TYPE element
(ServerVariables)</primary>-->Web T[o[ɐݒ肳ꂽFؕ@B̔Fؕ@́AWindows NT ZLeBŕی삳ĂT[o[ŃXNvgv邷ׂẴ[U[mF邽߂Ɏgp܂B</p></dd>




<dt>AUTH_USER</dt>
<dd><p><!--<primary>AUTH_USER element
(ServerVariables)</primary>-->Web T[o[ɂăNCAg̔F؎ɓ͂ꂽAH̃[U[B</p></dd>




<dt>CERT_COOKIE</dt>
<dd><p><!--<primary>CERT_COOKIE element
(ServerVariables)</primary>--> <!--<primary>digital
certificates</primary><secondary>information in HTTP
requests</secondary>-->NCAg̃fW^ؖ̌ŗL IDB̗vf̒ĺAؖŜ̏ƂĎgpł܂B̗vfɂ́AHTTPS vgRgpNCAĝ݂̒l܂܂܂B
<!--<primary>ClientCertificate collection
(Request)</primary>-->ClientCertificate RNVɂ́ANCAg֘ÂׂẴfW^ؖ񂪊܂܂܂BClientCertificate RNV́AHTTP wb_g₷ȂĂ܂BNCAgfW^ؖ𑗐MȂꍇłA <span class="LITERAL">CERT_</span> vf ServerVariables RNVɑ݂܂AłAl͊܂܂܂B</p></dd>




<dt>CERT_FLAGS</dt>
<dd><p><!--<primary>CERT_FLAGS element
(ServerVariables)</primary>--><span class="LITERAL">CERT_FLAGS</span> 2 rbg̒l\܂BNCAg݂ؖꍇArbg #0  1 ɐݒ肳܂BNCAgؖ̏ؖ@ւȏꍇA܂ Web T[o[ɂmFς݂̏ؖs҂̃XgŔs҂ȂꍇArbg #1  1 ɐݒ肳܂B̒ĺAClientCertificate RNV Flags vf <span class="LITERAL">ceCertPresent</span> 萔 <span class="LITERAL">ceUnrecognizedIssuer</span> 萔ɑΉ܂B</p></dd>




<dt>CERT_ISSUER</dt>
<dd><p><!--<primary>CERT_ISSUER element
(ServerVariables)</primary>-->
<!--<primary>digital certificates</primary><secondary>issuer
information</secondary>-->NCAgؖ̔s (݂ꍇ)B̗vf̒ĺA{͂ ClientCertificate RNV Issuer vf̍ŐAgp\ȊeTuvf̃TutB[h܂܂ꂽR}؂蕶łB</p></dd>




<dt>CERT_KEYSIZE</dt>
<dd><p><!--<primary>CERT_KEYSIZE element
(ServerVariables)</primary>-->SSL ڑL[TCYŎgprbg (Ƃ΁A64 ܂ 128)B</p></dd>




<dt>CERT_SECRETKEYSIZE</dt>
<dd><p><!--<primary>CERT_SECRETKEYSIZE element
(ServerVariables)</primary>-->T[o[ؖ̔閧L[̃rbg (Ƃ΁A1024)B</p></dd>




<dt>CERT_SERIALNUMBER</dt>
<dd><p><!--<primary>CERT_SERIALNUMBER element
(ServerVariables)</primary>-->NCAg̏ؖ̃VAԍlB</p></dd>




<dt>CERT_SERVER_ISSUER</dt>
<dd><p><!--<primary>CERT_SERVER_ISSUER element
(ServerVariables)</primary>-->T[o[ؖ̔sҁB</p></dd>




<dt>CERT_SERVER_SUBJECT</dt>
<dd><p><!--<primary>CERT_SERVER_SUBJECT element
(ServerVariables)</primary>-->T[o[ؖ̃TuWFNgtB[hB̗vf̒ĺANCAgؖ̃TuWFNgtB[hƓ悤ɁAClientCertificate RNṼTuWFNgvfŐTutB[h܂܂ꂽR}؂蕶łB</p></dd>




<dt>CERT_SUBJECT</dt>
<dd><p><!--<primary>CERT_SUBJECT element
(ServerVariables)</primary>-->NCAgؖ̃TuWFNgtB[hB̗vf̒ĺAClientCertificate RNṼTuWFNgvfŐTutB[h܂܂ꂽR}؂蕶łB</p></dd>




<dt>CONTENT_LENGTH</dt>
<dd><p><!--<primary>CONTENT_LENGTH element
(ServerVariables)</primary>-->
<!--<primary>size</primary><secondary>HTTP
requests</secondary>-->NCAgM HTTP v̖{̍v̒B̒lgpāANCAg HTTP vɂ関H HTTP Rec̒𒲂ׂ邱Ƃł܂B̒l͗vwb_ɂĒ񋟂ꂽf[^ (<span class="LITERAL">GET</span> \bhőMꂽ) ܂܂Av{݂̏̂܂݂܂B</p></dd>




<dt>CONTENT_TYPE</dt>
<dd><p><!--<primary>CONTENT_TYPE element
(ServerVariables)</primary>-->
<!--<primary>MIME type</primary>-->NCAgMRec MIME ^CvBHTTP  <span class="LITERAL">GET</span> ANVA<span class="LITERAL">POST</span> ANVA<span class="LITERAL">PUT</span> ANVȂǂ̓Yt܂ HTTP NG[ƋɎgpƁANCAg HTTP vRecf[^̃f[^^Cv𒲂ׂ邱Ƃł܂B̗vf̍łʓIȒĺA<span class="LITERAL">application/x-www-form-urlencoded</span> łBHTML tH[Ƀt@Cv܂߂ꍇ́A
<!--<primary>ENCTYPE parameter</primary>-->ENCTYPE p[^ (їv CONTENT_TYPE wb_)  <span class="LITERAL">multipart/form-data</span> ɐݒ肵܂B</p></dd>




<dt>GATEWAY_INTERFACE</dt>
<dd><p><!--<primary>GATEWAY_INTERFACE element
(ServerVariables)</primary>-->
<!--<primary>Common Gateway Interface
(CGI)</primary><secondary>version used by web
server</secondary>--> <!--<primary>CGI
applications</primary><secondary>version used by web
server</secondary>-->Web T[o[ɂĎgp CGI (Common Gateway Interface) ̃rWB̕l̃tH[}bǵA<span class="LITERAL">CGI/</span><var class="replaceable">revision</var> <var class="replaceable">#</var> łBƂ΁AIIS 4.0 Web T[o[ɐڑĂꍇÃACe̒l CGI/1.1 ɂȂ܂B</p></dd>




<dt>HTTP_ [<var class="replaceable">HeaderName</var>]</dt>
<dd><p><!--<primary>HTTP_... elements
(ServerVariables)</primary>--><var class="replaceable">headername</var> ƂÓAHTTP wb_őMlB̃XgɂȂ HTTP wb_ (JX^wb_܂) ̒l擾ɂ́Awb_ɐړ HTTP_ tKv܂BHTTP_CUSTOM_SELECTION wb_w肷ƁAIIS ͎ۂɂ HTTP vŃNCAgɂ Custom-Header Ƃxtꂽ HTTP wb_܂BāAServerVariables RNVŖOɃnCt HTTP wb_Ƃ́AɃA_[XRAgp܂B݂Ȃwb_擾悤ƂƁAG[ł͂ȂA̕񂪕Ԃ܂BƂ΁ÃR[h܂B</p>




<ul>

<li>HTTP_ACCEPT</li>

<li>HTTP_AUTHORIZATION (AUTH_TYPE vfƓ)</li>

<li>HTTP_ACCEPT-LANGUAGE</li>

<li>HTTP_CONNECTION</li>

<li>HTTP_HOST</li>

<li>HTTP_REFERER</li>

<li>HTTP_USER-AGENT </li>

</ul>



<p>̃R[hl󂯎邽߂ɂ́Â悤ȃR[hKvłB</p>




<span class="PROGRAMLISTING"><pre>strUserAgent = _
         Request.ServerVariables("HTTP_USER_AGENT")
</pre></span>
</dd>





<dt>HTTPS</dt>
<dd><p><!--<primary>HTTPS element
(ServerVariables)</primary>-->̗vf̒ĺANCAg HTTP v SSL gpđMꂽꍇ͕ "ON" ɂȂ܂BȊȌꍇ "OFF" ɂȂ܂B</p></dd>




<dt>HTTPS_KEYSIZE</dt>
<dd><p><!--<primary>HTTPS_KEYSIZE element
(ServerVariables)</primary>-->Oq <span class="LITERAL">CERT_KEYSIZE</span> ƓłB</p></dd>




<dt>HTTPS_SECRETKEYSIZE</dt>
<dd><p><!--<primary>HTTPS_SECRETKEYSIZE element
(ServerVariables)</primary>-->Oq <span class="LITERAL">CERT_SECRETKEYSIZE</span> ƓłB</p></dd>




<dt>HTTPS_SERVER_ISSUER</dt>
<dd><p><!--<primary>HTTPS_SERVER_ISSUER element
(ServerVariables)</primary>-->Oq <span class="LITERAL">CERT_SERVER_ISSUER</span> ƓłB</p></dd>




<dt>HTTPS_SERVER_SUBJECT</dt>
<dd><p><!--<primary>HTTPS_SERVER_SUBJECT element
(ServerVariables)</primary>-->Oq <span class="LITERAL">CERT_SERVER_SUBJECT</span> ƓłB</p></dd>




<dt>INSTANCE_ID</dt>
<dd><p><!--<primary>INSTANCE_ID element
(ServerVariables)</primary>-->eLXg`Ŏw肳A݂ IIS CX^X IDB̗vf 1 ɂȂꍇA̒l͕łB<span class="LITERAL">INSTANCE_ID</span> ́A̗v Web T[o[̃CX^X̔ԍ\܂Bꂪ֗Ȃ̂́AT[o[ŕ̃CX^X Web T[o[sĂꍇ݂̂łBȊȌꍇA̒l͏ 1 ɂȂARs[^ Web T[o[̍ŏB̃CX^X\܂B</p></dd>




<dt>INSTANCE_META_PATH</dt>
<dd><p><!--<primary>INSTANCE_META_PATH element
(ServerVariables)</primary>-->NCAg HTTP v̑MƂȂ IIS ̃CX^X
<!--<primary>metabase, IIS</primary>-->
<!--<primary>IIS metabase</primary>-->^x[XBServerVariables RNV <span class="LITERAL">APPL_MD_PATH</span> vf̍Ŋɐ悤ɁA^x[X́AWeb T[o[̃CXg[ƍ\ɌŗL̏ێ܂BƂ΁APersonal Web Server gpĂRs[^ł́A̗vf̒l <span class="LITERAL">/LM/W3SVC/1</span> ̂悤ɂȂ܂B</p></dd>




<dt>LOCAL_ADDR</dt>
<dd><p><!--<primary>LOCAL_ADDR element
(ServerVariables)</primary>-->
<!--<primary>web servers</primary><secondary>TCP/IP address
for</secondary>--> <!--<primary>TCP/IP address for
web servers</primary>--> <!--<primary>IP
address</primary><secondary>server accepting
requests</secondary>-->NCAg HTTP v󂯓 Web T[o[ TCP/IP AhXBServerVariables RNV̗̂vfɏdvƂȂ̂́AWeb T[o[ʂ IP AhX̃Rs[^琬T[o[t@[ɂAׂĂhCɑ΂vɉꍇłB<em>localhost</em> ƂăT[o[ɃANZXꍇA̒l 127.0.0.1 ɂȂ܂B</p></dd>




<dt>LOGON_USER</dt>
<dd><p><!--<primary>LOGON_USER element
(ServerVariables)</primary>-->ZLeB{ݒ܂ Windows NT `W/X|Xɐݒ肳ꂽꍇ́AVXeɃOI[U[ Windows NT
<!--<primary>user account
information</primary>-->[U[AJEgBZLeB̏ꍇ́A̕Ԃ܂B</p></dd>




<dt>PATH_INFO</dt>
<dd><p><!--<primary>PATH_INFO element
(ServerVariables)</primary>-->NCAg HTTP vs
<!--<primary>web pages</primary><secondary>determining paths
for</secondary>--> <!--<primary>virtual
paths</primary><secondary>determining for web
pages</secondary>-->
<!--<primary>paths</primary><secondary>determining for web
pages</secondary>-->Web y[W̉zpXB̏񂪉zfBNgłꍇẢzfBNg͕fBNgɃ}bvĂACGI tB^ɑM܂B</p></dd>




<dt>PATH_TRANSLATED</dt>
<dd><p><!--<primary>PATH_TRANSLATED element
(ServerVariables)</primary>-->ServerVariables RNV <span class="LITERAL">PATH_INFO</span> vf̒ĺAz畨ւ̃}bsOB</p></dd>




<dt>QUERY_STRING</dt>
<dd><p><!--<primary>QUERY_STRING element
(ServerVariables)</primary>-->HTTP v URL ̍Ōɂ^╄ (<span class="LITERAL">?</span>) ́ANCAgMlB̗vfɂ́AHTTP  <span class="LITERAL">GET</span> \bhgp Web T[o[ɑM܂܂܂B̗vfׂ̂Ă̏́A
<!--<primary>QueryString collection
(Request)</primary>-->QueryString RNVłpł܂B̃RNV͉͂KvƂȂ̂ŁAȒPɗpł܂B</p></dd>




<dt>REMOTE_ADDR</dt>
<dd><p><!--<primary>REMOTE_ATTR element
(ServerVariables)</primary>-->NCAg TCP/IP AhXB</p></dd>




<dt>REMOTE_HOST</dt>
<dd><p><!--<primary>REMOTE_HOST element
(ServerVariables)</primary>-->Web T[o[NCAg HTTP v󂯎 <!--<primary>IP
address</primary><secondary>server making
requests</secondary>-->IP AhXBHTTP vɂ̏񂪊܂܂ĂȂꍇA<span class="LITERAL">REMOTE_ADDR</span> vf̒lݒ肳A̒l͋ɂȂ܂B</p></dd>




<dt>REQUEST_METHOD</dt>
<dd><p><!--<primary>REQUEST_METHOD element
(ServerVariables)</primary>-->NCAg HTTP vs\bh (<span class="LITERAL">GET</span>A<span class="LITERAL">POST</span>A<span class="LITERAL">HEAD</span> Ȃ)B</p></dd>




<dt>SCRIPT_NAME</dt>
<dd><p><!--<primary>SCRIPT_NAME element
(ServerVariables)</primary>-->݂̃XNvgւ̉zpXŚBURL ̃x[X͊܂܂܂Bx[X ServerVariables RNV URL vfɂĕ\܂BȎQ URL p (͓I) gp܂B <span class="LITERAL">PATH_INFO</span> vf̒lƓȂ܂B</p></dd>




<dt>SERVER_NAME</dt>
<dd><p><!--<primary>SERVER_NAME element
(ServerVariables)</primary>-->ȎQ URL Ɏw肳AWeb T[o[ TCP/IP AhXA DNSA܂̓zXgB</p></dd>




<dt>SERVER_PORT</dt>
<dd><p><!--<primary>SERVER_PORT element
(ServerVariables)</primary>-->
<!--<primary>port, web server</primary>-->NCAg HTTP v̑MƂȂT[o[|[gBʏAقƂǂ Web T[o[ł 80 ܂ 8080 łB</p></dd>




<dt>SERVER_PORT_SECURE</dt>
<dd><p><!--<primary>SERVER_PORT_SECURE element
(ServerVariables)</primary>-->HTTP vAی삳ꂽ|[g Web T[o[ɂĊǗꍇA̒l 1 ɂȂ܂B|[gی삳ĂȂꍇA̒l 0 ɂȂ܂B<!--<primary>security</primary><secondary>identifying secure
ports</secondary>--></p></dd>




<dt>SERVER_PROTOCOL</dt>
<dd><p><!--<primary>SERVER_PROTOCOL element
(ServerVariables)</primary>-->NCAgv邽߂ Web T[o[ɂĎgpvgR̖Oƃo[WBƂ΁ANCAg Microsoft Internet Explorer 4.01 gpĂāAWeb T[o[ IIS 4.0 łꍇA̒l͕ "HTTP/1.1" ɂȂ܂B</p></dd>




<dt>SERVER_SOFTWARE</dt>
<dd><p><!--<primary>SERVER_SOFTWARE element
(ServerVariables)</primary>-->NCAg HTTP v Web T[o[\tgEFA̖Oƃo[WBƂ΁AMicrosoft IIS 4.0 gpĂꍇAServerVariables RNV̗̂vf̒ĺAMicrosoft-IIS/4.0 ɂȂ܂B</p></dd>




<dt>URL</dt>
<dd><p><!--<primary>URL element
(ServerVariables)</primary>-->HTTP vŃNCAgvx[X URLB</p></dd>

</dl>



</td>
</tr>
<tr><td colspan="2" class="CLEARSEPARATION">&nbsp;</td></tr>
<tr>
<td colspan="2" class="DESCRIPTIONTITLE"></td>
</tr>
<tr>
<td colspan="2" class="description">




<span class="PROGRAMLISTING"><pre>&lt;% 

' The following code determines the value of the 
' LOGON_USER item of the ServerVariables collection. This 
' code can be used to determine the identity of the 
' client. 
Dim strUserName

strUserName = Request.ServerVariables("LOGON_USER")

%&gt;</pre></span>




</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="DESCRIPTIONTITLE"></td>
</tr>
<tr>
<td colspan="2" class="description">




<p>Oq̃XgŎ悤ɁAServerVariables RNVɂ́ANCAg HTTP vɊւĔɕ֗ȏ񂪑܂܂Ă܂B̍łdvȗvfɂA[U[̌lAhXmFłꍇ܂B̗vfgpƁAZLeB΍JX^}CYł܂B</p>




<p>܂ARequest IuWFNg̑̃RNṼf[^̑AServerVariables RNVʂĎ擾ł܂BA葽̘J͂KvłB</p>



</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
</table>
</div>
<div id="BinaryRead">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr valign="top">
<td class="NAME">
BinaryRead</td>
<td class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
</tr>
<tr>
<td class="usage" colspan="2"><var class="replaceable">MySafeArray</var><span class="LITERAL">=Request.BinaryRead(</span><var class="replaceable">ByteCount</var>)
</td></tr>
<tr><td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr><td colspan="2" class="description">
<p><!--<primary>Request
object</primary><secondary>BinaryRead method</secondary>-->
<!--<primary>BinaryRead method
(Request)</primary>--> <!--<primary>requests,
HTTP</primary><secondary>reading bytes from</secondary>-->
<!--<primary>HTTP
(Hypertext Transfer
Protocol)</primary><secondary>requests</secondary><tertiary>reading
bytes from</tertiary>--> <!--<primary>reading</primary><secondary sortas="HTTP requests">from HTTP requests</secondary>-->BinaryRead \bh́AHTTP  <span class="LITERAL">Post</span> ̈ꕔƂăNCAgM HTTP v̖{AoCg𒼐ړǂݎ܂BBinaryRead \bhgp HTTP vǂݎf[^ SafeArray ɕԂ܂B<em>SafeArray</em><!--<primary>SafeArray
variant</primary>--> ́ÃACe܂ނłȂAz̎Əl܂ޓʂȃoAgzłB</p>




<tip id="ch07-41-fm2xml" role="ora">
<p>ۂɂ́ASafeArray ͔zł͂܂B͔z񕔕ɏIɕێ邽߂ɎgpAʂȃ^Cv̍\łBlяĺA\̗vfƂ C/C++ ̂ݗpł܂BXNvgʂĂ̒l𑀍삷邱Ƃ擾邱Ƃł܂B</p>



</tip>
</td>
</tr>
<tr>
<td colspan="2" class="DESCRIPTIONTITLE">p[^</td>
</tr>
<tr>
<td colspan="2" class="description">




<dl>
<dt><var class="replaceable">MySafeArray</var></dt>
<dd><p>BinaryRead Ԃۑ邽߂Ɏgp SafeArray ̖OB</p></dd>




<dt><var class="replaceable">ByteCount</var></dt>
<dd><p>BinaryRead \bhgpēǂݎoCgBʏA̕ϐ̒ĺAOq Request IuWFNg TotalBytes vpeBgpꍇɕԂoCgɂȂ܂B</p></dd>

</dl>




</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="DESCRIPTIONTITLE"></td>
</tr>
<tr>
<td colspan="2" class="description">




<span class="PROGRAMLISTING"><pre>&lt;% 

' The following code determines the total number of bytes 
' sent in the client's HTTP request. It then reads the 
' bytes, checks for errors, and if there are none, 
' reports to the client that the read was successful.
Dim lngTotalByteCount
Dim vntRequestData

On Error Resume Next

lngTotalByteCount = Request.TotalBytes

vntRequestData = Request.BinaryRead(lngTotalByteCount)
If Err = 0 Then
   ' For details about the Response object, see <link linkend="ch08-1-fm2xml">Chapter 8</link>.
   ' For now, suffice it to say the following code sends
   ' information to the client.
   Response.Clear
   Response.Write lngTotalByteCount &amp; _
                  " bytes successfully read.&lt;BR&gt;"
   Response.End
End If 

%&gt;</pre></span>




</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="DESCRIPTIONTITLE"></td>
</tr>
<tr>
<td colspan="2" class="description">




<p>Web AvP[ṼNCAgAHTTP v̖{őMꂽSɐłꍇÃ\bh͖𗧂܂B́ANCAgoCgxŏAbv[h (܂̓t@CAbv[h) ł悤ɂ邽߂łBA<span class="LITERAL">Post</span> vőMꂽoCgxŊǗ͍̂łBT[hp[eB́At@C]@\IȒPɃAvP[Vɒǉł悤ɂ邢̃t@C]Rg[񋟂Ă܂B</p>




<p>Request IuWFNg Form RNVɏ擾ĂꍇAȍ~ BinaryRead \bhĂяoƃG[ɂȂ邱ƂɒӂĂB悤ɁA Request IuWFNg BinaryRead \bhĂяoĂāAȍ~ Form RNV擾悤ƂƁAXNvgŃG[܂B  </p>




</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
</table>
</div>
</body>
</html>
