Python HTTP標(biāo)頭

Python HTTP標(biāo)頭

客戶端和服務(wù)器之間的請求和響應(yīng)涉及消息中的標(biāo)頭和正文。標(biāo)頭包含特定于協(xié)議的信息,這些信息出現(xiàn)在通過TCP連接發(fā)送的原始消息的開頭。消息的正文與標(biāo)頭使用空白行分隔。

標(biāo)頭字段

http響應(yīng)中的標(biāo)頭可以分為以下類型。以下是標(biāo)頭的說明和示例。

Cache-ControlCache-Control general-header字段用于指定所有緩存系統(tǒng)必須遵守的指令。語法如下:

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.slktour.com
# Date : 2020-08-25
Cache-Control : cache-request-directive|cache-response-directive
  
 

HTTP客戶端或服務(wù)器可以使用“Cache-Control”常規(guī)標(biāo)頭來指定緩存參數(shù)或從緩存中請求某些類型的文檔。緩存指令在逗號分隔的列表中指定。例如:

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.slktour.com
# Date : 2020-08-25
Cache-control: no-cache
  
 

Connection連接通用標(biāo)頭字段允許發(fā)送者指定該特定連接所需的選項(xiàng),并且代理不能通過其他連接傳達(dá)這些選項(xiàng)。以下是使用連接頭的簡單語法:

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.slktour.com
# Date : 2020-08-25
Connection : "Connection"
  
 

HTTP/1.1為發(fā)送方定義了“off”連接選項(xiàng),以指示響應(yīng)完成后將關(guān)閉連接。例如:

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.slktour.com
# Date : 2020-08-25
Connection: close
  
 

默認(rèn)情況下,HTTP 1.1使用持久連接,該連接在事務(wù)處理后不會自動(dòng)關(guān)閉。另一方面,HTTP 1.0默認(rèn)情況下不具有持久連接。如果1.0客戶端希望使用持久連接,則它使用keep-alive參數(shù),如下所示:

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.slktour.com
# Date : 2020-08-25
Connection: keep-alive
  
 

Date所有HTTP日期/時(shí)間戳都以格林威治標(biāo)準(zhǔn)時(shí)間(GMT)表示。允許HTTP應(yīng)用程序使用日期/時(shí)間戳的以下三種表示形式中的任何一種:

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.slktour.com
# Date : 2020-08-25
Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123
 Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036
 Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format
  
 

Transfer-Encoding

Transfer-Encoding字段指示已將哪種類型的轉(zhuǎn)換應(yīng)用于消息正文,以便在發(fā)送者和接收者之間安全地進(jìn)行轉(zhuǎn)換。這與內(nèi)容編碼不同,因?yàn)閭鬏斁幋a是消息的屬性,而不是實(shí)體主體的屬性。Transfer-Encoding標(biāo)頭字段的語法如下:

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.slktour.com
# Date : 2020-08-25
Transfer-Encoding: chunked
  
 

所有傳輸編碼值都不區(qū)分大小寫。

UpgradeUpgrade通用標(biāo)頭允許客戶端指定其支持的其他通信協(xié)議,并在服務(wù)器認(rèn)為適合切換協(xié)議時(shí)使用。例如:

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.slktour.com
# Date : 2020-08-25
Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
  
 

Upgrade標(biāo)頭字段旨在提供一種從HTTP/1.1過渡到其他不兼容協(xié)議的簡單機(jī)制。

Via

網(wǎng)關(guān)和代理必須使用Via通用標(biāo)題來指示中間協(xié)議和接收者。例如,可以將請求消息從HTTP/1.0用戶代理發(fā)送到名為“fred”的內(nèi)部代理,該代理使用HTTP/1.1將請求轉(zhuǎn)發(fā)到位于nowhere.com的公共代理,代理通過以下方式完成請求:將其轉(zhuǎn)發(fā)到位于 www.ics.uci.edu 的原始服務(wù)器。www.ics.uci.edu 接收到的請求將具有以下Via標(biāo)頭字段:

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.slktour.com
# Date : 2020-08-25
Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1)
  
 

Warning

Warning通用標(biāo)頭用于攜帶有關(guān)消息狀態(tài)或轉(zhuǎn)換的其他信息,這些信息可能未反映在消息中。一個(gè)響應(yīng)可能包含多個(gè)警告標(biāo)頭。

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.slktour.com
# Date : 2020-08-25
Warning : warn-code SP warn-agent SP warn-text SP warn-date
  
 

標(biāo)頭示例

在下面的示例中,使用urllib2模塊使用urlopen獲得響應(yīng)。接下來應(yīng)用info()方法來獲取該響應(yīng)的標(biāo)頭信息。

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.slktour.com
# Date : 2020-08-25
import urllib2
 response = urllib2.urlopen('http://www.slktour.com/python/python-index.html')
 html = response.info()
 print html
  
 

當(dāng)我們運(yùn)行上面的程序時(shí),得到以下輸出:

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.slktour.com
# Date : 2020-08-25
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/
signed-exchange;v=b3;q=0.9
 Accept-Encoding: gzip, deflate, br
 Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
 Cache-Control: max-age=0
 Connection: keep-alive
 Cookie: OUTFOX_SEARCH_USER_ID_NCOO=1091135338.9776888; JSESSIONID=E15B8EC70E5BBF1AEDF4B4EAA2CDB5E8; 
Hm_lvt_b7b3187b2696243340bf6da4428bc560=1598152290,1598152290,1598152812,1598274529; Hm_lpvt_b7b3187b2696243340bf6da4428bc560=1598326307
 Host: www.slktour.com
 If-Modified-Since: Mon, 24 Aug 2020 12:50:33 GMT
 If-None-Match: W/"5f43b799-b8ee"
 Sec-Fetch-Dest: document
 Sec-Fetch-Mode: navigate
 Sec-Fetch-Site: none
 Sec-Fetch-User: ?1
 Upgrade-Insecure-Requests: 1
 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36
  
 

下一節(jié):Python 自定義HTTP請求

Python 網(wǎng)絡(luò)編程

相關(guān)文章
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频