?? 180.htm
字號(hào):
<p>淺談HTTP協(xié)議(一)--結(jié)構(gòu) </p>
<p></p>
<p> </p>
<p> </p>
<p> Internet是由各個(gè)協(xié)議連接起來(lái)的,而我們現(xiàn)在使用最廣的莫過(guò)于HTTP協(xié)議了,也就是超文本傳輸協(xié)議,與FTP(文件傳輸協(xié)議)不同,由于主要用于超文本傳輸,因此HTTP協(xié)議顯得更簡(jiǎn)單一點(diǎn)。今天我們來(lái)介紹一下HTTP協(xié)議的基本格式。</p>
<p> 在這里,我們所談及的HTTP協(xié)議以HTTP/1.1為標(biāo)準(zhǔn),并且使用Net Vampire Pro 4.0來(lái)取得與HTTP服務(wù)器的通信Log,您也可以使用其它的HTTP下載工具來(lái)取得通信Log。</p>
<p> 在HTTP協(xié)議中,服務(wù)端是指提供HTTP服務(wù)的部分,客戶端是指你使用的瀏覽器或者下載工具等等。在通訊時(shí),由客戶端發(fā)出請(qǐng)求連接,服務(wù)端建立連接;然后,客戶端發(fā)出HTTP請(qǐng)求(Request),服務(wù)端返回響應(yīng)信息(Respond),由此完成一個(gè)HTTP操作。我們來(lái)通過(guò)一個(gè)例子來(lái)了解這個(gè)過(guò)程:(以下是Net Vampire進(jìn)行的一次連接,以下紅色字體為作者添加)</p>
<p>P 01-5-26 16:10:43 Connecting to go2.163.com ... //連接服務(wù)器</p>
<p>P 01-5-26 16:10:44 Connected to go2.163.com [61.129.65.148] //解析IP地址,以下為HTTP操作</p>
<p>S 01-5-26 16:10:44 GET /~minift/epretty/pretty.zip HTTP/1.1 //請(qǐng)求行(Request Line),表示使用GET方式取得文件,使用HTTP/1.1協(xié)議 </p>
<p>//以下為請(qǐng)求頭部(Request Head)</p>
<p>S 01-5-26 16:10:44 Connection: close //表示非持續(xù)性連接</p>
<p>S 01-5-26 16:10:44 Host: go2.163.com //主機(jī)名稱</p>
<p>S 01-5-26 16:10:44 Accept: */* //接受的數(shù)據(jù)類型</p>
<p>S 01-5-26 16:10:44 Pragma: no-cache //參數(shù)(與以前的服務(wù)器兼容)</p>
<p>S 01-5-26 16:10:44 Cache-Control: no-cache //不使用緩存</p>
<p>S 01-5-26 16:10:44 Referer: http://go2.163.com/~minift/epretty //從該網(wǎng)址轉(zhuǎn)來(lái)</p>
<p>S 01-5-26 16:10:44 User-Agent: Mozilla/4.04 [en] (Win95; I ;Nav) //客戶端標(biāo)識(shí)</p>
<p>S 01-5-26 16:10:44 Cookie: AdId=ACDDAAAAAAA</p>
<p>S 01-5-26 16:10:44 //以下為Respond</p>
<p>R 01-5-26 16:10:47 HTTP/1.0 200 OK //響應(yīng)行(Respond Line),服務(wù)器使用HTTP/1.0協(xié)議,狀態(tài)值(Status Code)為200,狀態(tài)為OK,表示文件可以讀取</p>
<p>R 01-5-26 16:10:47 Date: Sat, 26 May 2001 08:15:54 GMT //現(xiàn)在的時(shí)間,用格林威治時(shí)間表示</p>
<p>R 01-5-26 16:10:47 Server: Apache/1.3.14 (Unix) mod_layout/2.9.9 //服務(wù)器類型</p>
<p>R 01-5-26 16:10:47 Last-Modified: Fri, 04 May 2001 02:42:56 GMT //文件最后更新時(shí)間</p>
<p>R 01-5-26 16:10:47 ETag: "e614cf-37965-3af21730"</p>
<p>R 01-5-26 16:10:47 Accept-Ranges: bytes //接受的范圍單位</p>
<p>R 01-5-26 16:10:47 Content-Length: 227685 //文件長(zhǎng)度 </p>
<p>R 01-5-26 16:10:47 Content-Type: application/zip //MIME類型</p>
<p>R 01-5-26 16:10:47 X-Cache: MISS from shca8</p>
<p>R 01-5-26 16:10:47 X-Cache-Lookup: MISS from shca8:80</p>
<p>R 01-5-26 16:10:47 Connection: close //表示文件傳輸完畢就關(guān)閉連接。</p>
<p>R 01-5-26 16:10:47 //以下為文件傳輸</p>
<p>P 01-5-26 16:10:47 Data transfer started </p>
<p> 下面來(lái)講解使用的格式(LRCF=@13@10,即回車,SP=SPACE,即空格)</p>
<p>Request:</p>
<p>協(xié)議方式 SP 文件URI SP 協(xié)議版本 LRCF (請(qǐng)求行)</p>
<p>(以下為頭部)</p>
<p>頭部類型 : 頭部值 LRCF</p>
<p>頭部類型 : 頭部值 LRCF</p>
<p>頭部類型 : 頭部值 LRCF</p>
<p>...... </p>
<p>LRCF 表示頭部結(jié)束</p>
<p>(如果有體部,以下為體部)</p>
<p></p>
<p>Respond:</p>
<p>協(xié)議版本 SP 狀態(tài)值 SP 狀態(tài)描述 LRCF (響應(yīng)行)</p>
<p>(以下為頭部)</p>
<p>頭部類型 : 頭部值 LRCF</p>
<p>頭部類型 : 頭部值 LRCF</p>
<p>頭部類型 : 頭部值 LRCF</p>
<p>...... </p>
<p>LRCF 表示頭部結(jié)束</p>
<p>(如果有體部,以下為體部)</p>
<p></p>
<p></p>
<p> 由上可見,請(qǐng)求與相應(yīng)的格式只有部分不同,是很容易理解的,現(xiàn)在你應(yīng)該基本了解HTTP協(xié)議了吧,也能看懂那些通信Log了吧,下一次我們講專門講解在響應(yīng)行中的狀態(tài)值含義及一些特殊情況。</p>
<p></p>
<p></p>
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -