HTTP報文

HTTP就像是因特網的信使,而報文就是信使用來傳遞東西的包裹。HTTP報文時在HTTP的應用程序之間發送的數據快,這些數據塊是以文本形式的元信息開頭。html

 

每條報文都包含一條來自於客戶端的請求,或者是來自於服務器的響應,她們有三個部分組成:對報文進行描述的起始行(start line)、包含屬性的首部(header)、以及可選的,包含數據的主題(body)安全

 

(圖片來自HTTP權威指南)服務器

 

下面是咱們打開百度網頁時候的請求報文:app


請求:            GET / HTTP/1.1
Accept:            text/html, application/xhtml+xml, */*
Referer :          http://www.baidu.com/s?    wd=www.baidu.com&rsv_bp=1&tn=baidu&ie=utf-8&inputT=3564&f=8&bs=www.baidu.com&rsv_sug4=537&rsv_sug1=2
Accept-Language:    zh-Hans-CN,zh-Hans;q=0.8,en-US;q=0.5,en;q=0.3
User-Agent :        Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)
Accept-Encoding:     gzip, deflate
Host :          www.baidu.com
DNT :          1
Connection:       Keep-Alive
Cookie:                          BD_UPN=11253144; BD_CK_SAM=1; BAIDUID=B7687C3B057C631C785FD8E4115F2AA5:FG=1;     H_PS_PSSID=6623_1422_7570_7800_6996_7828_7729_7781_6506_6017_7825_7674_7892_7607_7799_7632_7836_7687_7803_7475dom

 

響應報文:
響應 :          HTTP/1.1 200 OKide

 


Date:          Sat, 26 Jul 2014 06:33:00 GMT
Content-Type:     text/html; charset=utf-8
Transfer-Encoding:  chunked
Connection:       Keep-Alive
Cache-Control:    private
Cxy_all :                 baidu+f1c540f07047b27eba5362fd7cf3a8e4
Expires :       Sat, 26 Jul 2014 06:32:15 GMT
X-Powered-By:    HPHP
Server :        BWS/1.1
BDPAGETYPE :    1
BDQID:         0xd7bc10d90008f47a
BDUSERID :      0
Set-Cookie:         BDSVRTM=0; path=/url

 

用Python 抓取的信息:spa

---------------------header---------
Date: Sat, 26 Jul 2014 06:09:17 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: Close
Vary: Accept-Encoding
Set-Cookie: BAIDUID=6D419D997AAD0E547B96E6FC84718F41:FG=1; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
Set-Cookie: BDSVRTM=0; path=/
P3P: CP=" OTI DSP COR IVA OUR IND COM "
Cache-Control: private
Cxy_all: baidu+9b70894ee1674161ea842a5717aff56d
Expires: Sat, 26 Jul 2014 06:08:36 GMT
X-Powered-By: HPHP
Server: BWS/1.1
BDPAGETYPE: 1
BDQID: 0xfcb39f4700088171
BDUSERID: 0

 Content-Type用於說明  主體是什麼,例子中爲HTML,xml

---------起始行htm

一、請求行

請求報文請求服務器對資源進行一些操做,請求報文的起始行成爲請求行。他包含了一個方法和一個請求的url.

二、響應行

響應報文的起始行稱爲響應行,它包含一個請求報文使用的HTTP版本,數字狀態碼等。

 

--------首部

首部就是跟在起始行後面的鍵值對。咱們能夠在上面請求百度的例子中看到。

 

安全方法:

HTTP定義了一組被稱爲安全方法的方法,GET方法和HEAD方法都被認爲是安全的,這意味着使用GET或HEAD方法的HTTP請求都不會產生什麼動做,也就是HTTP請求不會在服務器上產生什麼結果。須要理解的是,安全方法並非什麼動做都不執行(實際上,這是有Web開發者決定的),使用安全方法的目的就是容許HTTP應用程序開發者通知用戶,何時會使用某個可能引起某些動做的不安全的方法)

相關文章
相關標籤/搜索