Internet是由各個協議連接起來的,而我們現在使用最廣的莫過于HTTP協議了,也就是超文本傳輸協議,與FTP(文件傳輸協議)不同,由于主要用于超文本傳輸,因此HTTP協議顯得更簡單一點。今天我們來介紹一下HTTP協議的基本格式。
在這里,我們所談及的HTTP協議以HTTP/1.1為標準,并且使用NetVampirePRo4.0來取得與HTTP服務器的通信Log,您也可以使用其它的HTTP下載工具來取得通信Log。
在HTTP協議中,服務端是指提供HTTP服務的部分,客戶端是指你使用的瀏覽器或者下載工具等等。在通訊時,由客戶端發出請求連接,服務端建立連接;然后,客戶端發出HTTP請求(Request),服務端返回響應信息(Respond),由此完成一個HTTP操作。我們來通過一個例子來了解這個過程:(以下是NetVampire進行的一次連接,以下紅色字體為作者添加)
P01-5-2616:10:43Connectingtogo2.163.com... //連接服務器
P01-5-2616:10:44Connectedtogo2.163.com[61.129.65.148] //解析ip地址,以下為HTTP操作
S01-5-2616:10:44GET/~minift/epretty/pretty.zipHTTP/1.1 //請求行(RequestLine),表示使用GET方式取得文件,使用HTTP/1.1協議
//以下為請求頭部(RequestHead)
S01-5-2616:10:44Connection:close //表示非持續性連接
S01-5-2616:10:44Host:go2.163.com //主機名稱
S01-5-2616:10:44Accept:*/* //接受的數據類型
S01-5-2616:10:44Pragma:no-cache //參數(與以前的服務器兼容)
S01-5-2616:10:44Cache-Control:no-cache //不使用緩存
S01-5-2616:10:44Referer:http://go2.163.com/~minift/epretty //從該網址轉來
S01-5-2616:10:44User-Agent:Mozilla/4.04[en](Win95;I;Nav) //客戶端標識
S01-5-2616:10:44Cookie:AdId=ACDDAAAAAAA
S01-5-2616:10:44 //以下為Respond
R01-5-2616:10:47HTTP/1.0200OK //響應行(RespondLine),服務器使用HTTP/1.0協議,狀態值(StatusCode)為200,狀態為OK,表示文件可以讀取
R01-5-2616:10:47Date:Sat,26May200108:15:54GMT //現在的時間,用格林威治時間表示
R01-5-2616:10:47Server:Apache/1.3.14(Unix)mod_layout/2.9.9 //服務器類型
R01-5-2616:10:47Last-Modified:Fri,04May200102:42:56GMT //文件最后更新時間
R01-5-2616:10:47ETag:"e614cf-37965-3af21730"
R01-5-2616:10:47Accept-Ranges:bytes //接受的范圍單位
R01-5-2616:10:47Content-Length:227685 //文件長度
R01-5-2616:10:47Content-Type:application/zip //MIME類型
R01-5-2616:10:47X-Cache:MISSfromshca8
R01-5-2616:10:47X-Cache-Lookup:MISSfromshca8:80
R01-5-2616:10:47Connection:close //表示文件傳輸完畢就關閉連接。
R01-5-2616:10:47 //以下為文件傳輸
P01-5-2616:10:47Datatransferstarted
下面來講解使用的格式(LRCF=@13@10,即回車,SP=SPACE,即空格)
Request:
協議方式SP文件URISP協議版本LRCF(請求行)
(以下為頭部)
頭部類型:頭部值LRCF
頭部類型:頭部值LRCF
頭部類型:頭部值LRCF
......
LRCF表示頭部結束
(假如有體部,以下為體部)
Respond:
協議版本SP狀態值SP狀態描述LRCF(響應行)
(以下為頭部)
頭部類型:頭部值LRCF
頭部類型:頭部值LRCF
頭部類型:頭部值LRCF
......
LRCF表示頭部結束
(假如有體部,以下為體部)
由上可見,請求與相應的格式只有部分不同,是很輕易理解的,現在你應該基本了解HTTP協議了吧,也能看懂那些通信Log了吧,下一次我們講專門講解在響應行中的狀態值含義及一些非凡情況。
新聞熱點
疑難解答