1. 程式人生 > >Python - HTTP Headers

Python - HTTP Headers

客戶端和伺服器之間的請求和響應涉及訊息中的標題和正文。標頭包含出現在通過TCP連線傳送的原始訊息開頭的協議特定資訊。使用空行將郵件正文與標題分隔開。

  • Cache-Control
    Cache-Control通用頭欄位用於指定所有快取系統必須遵守的指令。語法如下:
    Cache-Control : cache-request-directive|cache-response-directive
    HTTP客戶端或伺服器可以使用Cache-control通用頭來指定快取的引數或從快取中請求某些型別的文件。快取指令在逗號分隔列表中指定。例如:
    Cache-control: no-cache

  • Connection
    Connection general-header欄位允許傳送方指定該特定連線所需的選項,並且不能由代理通過其他連線進行通訊。以下是使用連線頭的簡單語法:
    Connection : “Connection”
    HTTP / 1.1定義了“關閉”連線選項,傳送方在完成響應後發出將被關閉的訊號連線。例如:
    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: chunked
    所有傳輸編碼值都不區分大小寫。

  • Upgrade
    該升級常用頭允許客戶端指定它所支援的附加通訊協議,並想如果伺服器發現它適當的切換協議時使用。例如:
    Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
    Upgrade頭欄位旨在提供一種從HTTP / 1.1轉換到其他不相容協議的簡單機制。

  • Via
    在通過通用頭必須由閘道器和代理被用於指示中間協議和收件人。例如,請求訊息可以從HTTP / 1.0使用者代理髮送到代號為“fred”的內部代理,該代理使用HTTP / 1.1將請求轉發到nowhere.com上的公共代理,該代理完成請求將其轉發到www.ics.uci.edu的原始伺服器。www.ics.uci.edu收到的請求將具有以下Via頭欄位:
    Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1)

  • Warning
    該警告通用頭被用來攜帶這可能不是在該訊息中被反射的訊息的狀態或轉換的附加資訊。響應可能帶有多個警告標頭。
    Warning : warn-code SP warn-agent SP warn-text SP warn-date