《圖解HTTP》HTTP首部(2)

4、請求首部字段

  請求首部字段是由客戶端往服務器端發送請求報文彙總使用的字段,用於補充請求的附加信息、客戶端信息、對響應內容相關的優先級等內容css

一、Accept

  Accept用於通知服務器,用戶代理可以處理的媒體類型和媒體類型的優先級html

  可使用type/subtype這種形式,一次指定多種媒體類型web

    

  下面是幾種常見的媒體類型算法

  • 文本文件

    text/html,text/plain,text/css...瀏覽器

    application/xhtml+xml,application/xml...緩存

  • 圖片文件

    image/jpeg, image/gif, image/png安全

  • 視頻文件

    video/mpeg, video/quicktime服務器

  • 應用程序使用的二進制文件

    application/octet-stream,application/zip...cookie

  給媒體類型增長優先級app

    可使用q=來額外表示權重值,用分號(;)進行分隔。

    權重q的範圍是0~1,且1是最大值。不指定權重q值時,默認權重q=1.0

    當服務器能夠提供多種內容時,會首先返回權重值最高的媒體類型

二、Accept-Charset

  通知服務器,用戶代理支持的字符集和字符集的優先順序,應用於內容協商機制的服務器驅動協商

  

 

 三、Accept-Encoding

  通知服務器,代理的內容編碼以及內容編碼的優先順序。另外也使用*做爲通用符,指定任意的編碼格式

    

  幾種內容編碼的例子:

  • gzip
  • cpmpress
  • deflate
  • identity

四、Accept-Language

  通知服務器和代理可以處理的天然語言(中文或英文) 以及天然語言的優先級

  

 

 五、Authorization

  通知服務器和代理的認證信息,一般會先返回401響應,而後客戶端在輸入認證信息,瀏覽器將首部字段Authorization字段加入報文從新發給服務器。

  

六、Expect

  告訴服務器指望出現的某種特定的行爲若是服務器沒法理解客戶端的指望,會返回狀態碼417 Expectation Failed。HTTP/1.1規定只定義了100-continue。(客戶端能夠利用Expect寫明所指望的擴展)

  

 

 七、From

  告訴服務器使用用戶代理的用戶的電子郵件地址

  目的:顯示代理用戶的電子郵件聯繫方式。

  使用代理時,應儘量包含From首部字段(因代理不一樣,電子郵箱地址可能記錄在User-Agent首部字段)

  

 

 八、Host

  虛擬主機運行在同一個ip上,所以用Host區分

  Host字段是惟一一個HTTP/1.1規定必須被包含在請求頭內的首部字段

  首部字段會告訴服務器請求的資源所處的互聯網主機名和端口號(當服務器未設置主機名時,直接發送一個空值)

  

九、If-match

  條件請求:使用首部  If-xxx  發出的請求。

  當服務器接收條件請求時,只有條件爲真纔會執行請求。

  只有If-matche的字段和Etag的值一致時,服務器才接受,不然412 Precondition Failed

  

  

十、If-Modified-Since  

  在If-modify-Since字段指定的時間以後資源更新,服務器會接受請求,不然返回304 Not Modified

   

 

 

 十一、If-None-Match

  If-None-Match字段和Etag值不同時,可處理該請求

  

 十二、If-Range

  指定的If-Range字段值和請求資源一致時,會請求處理,反之返回全體資源。

  若不適用If-Range字段,服務器會返回304,而後客戶端再發請求,服務器纔會返回全體資源。

  

1三、 If-Unmodified-Since

   在If-Unmodify-Since字段指定的時間以內資源更新,服務器會接受請求,不然返回412 Precondition Failed

1四、Max-Forwards

  通過的服務器最大數目。,每通過一個服務器減1,當Max-Forward減到0時,請求不在轉發,直接返回響應。

  做用:能夠了解以返回的那臺服務器爲終點,所通過的服務器通訊狀況。避免因爲服務器轉發失敗致使客戶端沒有響應。

  

 

1五、Proxy-Authorization

  發生在客戶端與代理服務器之間的認證質詢,與Authorzation認證字段類似(客戶端與服務器之間的認證質詢)。

1六、Range

   獲取部分資源的範圍請求。若能夠處理,返回206 PratialContent,若不能處理,返回200及所有資源。

1七、Referfer 

   告知服務器請求的原始資源的URL

  

 1八、TE

  告知服務器客戶端可以處理響應的傳輸編碼方式以及相應優先級,與Accept-Ecoding功能相似,可是隻用於傳輸編碼。

 1九、User-Agent

  會將建立請求的瀏覽器和用戶代理名稱等信息傳達給服務器

5、響應首部字段

一、Accept-Ranges

  告訴客戶端是否能處理範圍請求,獲取服務器某部分的資源。能夠處理返回byte,不能處理返回none

二、Age

  告訴客戶端,服務器在多久前建立了響應

  

三、Etage

  告知客戶端實體標識

  強Etage:不管實體發生多麼細微的變化都會改變其值

  弱Etage:提示資源是否相同,只有資源發生根本改變,纔會改變其值。在最開始附加W/

  

 四、Location

  將響應接收方引導至某個請求URI位置不一樣的資源

  瀏覽器接收這個字段後會強制性地嘗試訪問重定向資源

   

 五、Proxy-Authenticate

  把代理服務器所要求的的認證信息發送給客戶端

六、Retry-After

  告訴客戶端多久後再次發請求

七、Server

  告知客戶端當前服務器上安裝的HTTP服務器應用層程序的信息。可能包括軟件應用名稱、版本號和安裝時啓動的可選項。

 八、Vary  

  Vary可對緩存進行控制,用於源服務器向代理服務器傳達關於本地緩存使用方法的命令。

  當代理服務器收到Vary首部字段指定獲取資源的請求時,若Accept-Langusge請求值相同時,直接從緩存讀取響應,不然先從源服務端獲取資源後才能做爲響應返回。

九、WWW-Authenticate

  用於HTTP訪問認證

6、實體首部字段

一、Allow

  通知客戶端,它可以支持的HTTP方法。若服務器不支持HTTP,則返回405 Method Not Allowed並把所支持的方法寫入Allow

二、Content-Enconding

  告知客戶端對實體部分內容編碼方式

三、Content-Language

  告訴客戶端主體使用的天然語言

四、Content-Length

  代表實體主體部分的大小

五、Content-Location

  報文主體返回資源對應的URI

六、Content-MD5

  是一串由MD5算法生成的值,用於檢查主體在傳輸過程當中是否保存完整,以及確認傳輸到達。

七、Content-Range

  告知客戶端做爲響應返回的實體的哪一個部分範圍請求。字段值以字節爲單位,表示當前發送部分及整個實體大小

八、Content-Type

  實體主體內對象的媒體類型

九、Epires

  將資源失效的日期告知客戶端。緩存服務器在接收到含有Expires的響應後,會以緩存響應請求。

  

十、Last-Modified

  資源最後被修改的時間

7、爲Cookie服務的首部字段  

  Cookies的工做機制是用戶識別及狀態管理

  將cookies臨時寫入計算機,調用cookies時驗證,有效期、域、路徑、協議等內容

  

 一、Set-Cookie

  

  expires屬性:瀏覽器可發送cookies的有效期。當expries省略,應用程序關閉cookies失效。cookies不能刪除,只能覆蓋

  path屬性:指定cookies發送範圍的文件目錄

  domain屬性:經過cookies指定域名。不指定domain屬性更安全。

  secure屬性:限制Web頁面僅在HTTPS安全鏈接時,才能夠發送cookies。

          Set-Cookie:name=vale;secure

  HttpOnly屬性:使js腳本沒法獲取cookies,防止XSS對cookies的信息竊取

          Set-Cookie:name=value;HttpOnly 

二、Cookie

  cookie:status=enable

  請求中包含從服務器收到的cookie,能夠是多個

8、其餘首部字段

一、X-Frame-Options

  控制網站內容在其餘web網站的frame標籤的顯示問題

  X-Frame-Options:DENY   (拒絕)

  X-Frame-Options:SAMEORIGN   (容許源域名下的頁面匹配)

   

二、X-XSS-Protection

  是針對跨站腳本攻擊的一種對策,控制瀏覽器XSS防禦機制的開關

  0:將XSS過濾設置成無效狀態

  1:將XSS過濾設置成有效狀態

三、DNT

  拒絕我的信息被收集,拒絕被精準廣告追蹤

  0:統一被追蹤

  1:拒絕被追蹤

四、P3P

  目的:保護用戶隱私

相關文章
相關標籤/搜索