
- Python - 網路程式設計
- Python - 網路入門
- Python - 網路環境
- Python - 網際網路協議
- Python - IP 地址
- Python - DNS 查詢
- Python - 路由
- Python - HTTP 請求
- Python - HTTP 響應
- Python - HTTP 頭部
- Python - 自定義 HTTP 請求
- Python - 請求狀態碼
- Python - HTTP 認證
- Python - HTTP 資料下載
- Python - 連線重用
- Python - 網路介面
- Python - Socket 程式設計
- Python - HTTP 客戶端
- Python - HTTP 服務端
- Python - 構建 URL
- Python - Web 表單提交
- Python - 資料庫和 SQL
- Python - Telnet
- Python - 電子郵件
- Python - SMTP
- Python - POP3
- Python - IMAP
- Python - SSH
- Python - FTP
- Python - SFTP
- Python - Web 伺服器
- Python - 上傳資料
- Python - 代理伺服器
- Python - 目錄列表
- Python - 遠端過程呼叫
- Python - RPC JSON 伺服器
- Python - Google 地圖
- Python - RSS Feed
Python - HTTP 頭部
客戶端和伺服器之間的請求和響應包含訊息中的頭部和主體。頭部包含協議特定的資訊,這些資訊出現在透過 TCP 連線傳送的原始訊息的開頭。訊息主體使用空行與頭部隔開。
頭部示例
HTTP 響應中的頭部可以分為以下幾類。下面是頭部描述和示例。
Cache-Control
Cache-Control 通用頭部欄位用於指定所有快取系統都必須遵守的指令。語法如下:
Cache-Control : cache-request-directive|cache-response-directive
HTTP 客戶端或伺服器可以使用Cache-control通用頭部來指定快取引數或請求快取中的特定型別的文件。快取指令以逗號分隔的列表的形式指定。例如:
Cache-control: no-cache
Connection
Connection 通用頭部欄位允許傳送方指定對該特定連線所需的選項,並且不得透過代理在進一步的連線上傳遞。以下是使用連線頭部的簡單語法:
Connection : "Connection"
HTTP/1.1 定義了“close”連線選項,用於傳送方發出在響應完成之後關閉連線的訊號。例如:
Connection: close
預設情況下,HTTP 1.1 使用持久連線,其中連線在事務完成後不會自動關閉。另一方面,HTTP 1.0 預設情況下不使用持久連線。如果 1.0 客戶端希望使用持久連線,則它使用keep-alive引數,如下所示:
Connection: keep-alive
Date
所有 HTTP 日期/時間戳都必須以格林威治標準時間 (GMT) 表示,無一例外。HTTP 應用程式允許使用以下三種日期/時間戳表示方式中的任何一種:
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 通用頭部欄位指示已對訊息主體應用了什麼型別的轉換,以便安全地在傳送方和接收方之間傳輸它。這與內容編碼不同,因為傳輸編碼是訊息的屬性,而不是實體主體的屬性。Transfer-Encoding 頭部欄位的語法如下:
Transfer-Encoding: chunked
所有傳輸編碼值不區分大小寫。
Upgrade
Upgrade 通用頭部允許客戶端指定它支援的附加通訊協議,如果伺服器認為切換協議合適,則客戶端希望使用這些協議。例如:
Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
Upgrade 頭部欄位旨在提供一種從 HTTP/1.1 到其他不相容協議的簡單轉換機制。
Via
閘道器和代理必須使用Via 通用頭部來指示中間協議和接收方。例如,請求訊息可以從名為“fred”的內部代理(使用 HTTP/1.1 將請求轉發到 nowhere.com 的公共代理)的 HTTP/1.0 使用者代理傳送,該公共代理透過將其轉發到 www.ics.uci.edu 的原始伺服器來完成請求。www.ics.uci.edu 收到的請求將具有以下 Via 頭部欄位:
Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1)
Upgrade 頭部欄位旨在提供一種從 HTTP/1.1 到其他不相容協議的簡單轉換機制。
Warning
Warning 通用頭部用於攜帶有關訊息狀態或轉換的附加資訊,這些資訊可能未反映在訊息中。響應可以攜帶多個 Warning 頭部。
Warning : warn-code SP warn-agent SP warn-text SP warn-date
示例
在下面的示例中,我們使用 urllib2 模組使用 urlopen 獲取響應。接下來,我們應用 info() 方法來獲取該響應的頭部資訊。
import urllib2 response = urllib2.urlopen('https://tutorialspoint.tw/python') html = response.info() print html
執行上述程式時,我們將得到以下輸出:
Access-Control-Allow-Headers: X-Requested-With Access-Control-Allow-Origin: * Cache-Control: max-age=2592000 Content-Type: text/html; charset=UTF-8 Date: Mon, 02 Jul 2018 11:06:07 GMT Expires: Wed, 01 Aug 2018 11:06:07 GMT Last-Modified: Sun, 01 Jul 2018 21:05:38 GMT Server: ECS (tir/CDD1) Vary: Accept-Encoding X-Cache: HIT Content-Length: 22063 Connection: close