請求首部字段是由客戶端往服務器端發送請求報文彙總使用的字段,用於補充請求的附加信息、客戶端信息、對響應內容相關的優先級等內容css
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
當服務器能夠提供多種內容時,會首先返回權重值最高的媒體類型
通知服務器,用戶代理支持的字符集和字符集的優先順序,應用於內容協商機制的服務器驅動協商
通知服務器,代理的內容編碼以及內容編碼的優先順序。另外也使用*做爲通用符,指定任意的編碼格式
幾種內容編碼的例子:
通知服務器和代理可以處理的天然語言(中文或英文) 以及天然語言的優先級
通知服務器和代理的認證信息,一般會先返回401響應,而後客戶端在輸入認證信息,瀏覽器將首部字段Authorization字段加入報文從新發給服務器。
告訴服務器指望出現的某種特定的行爲,若是服務器沒法理解客戶端的指望,會返回狀態碼417 Expectation Failed。HTTP/1.1規定只定義了100-continue。(客戶端能夠利用Expect寫明所指望的擴展)
告訴服務器使用用戶代理的用戶的電子郵件地址。
目的:顯示代理用戶的電子郵件聯繫方式。
使用代理時,應儘量包含From首部字段(因代理不一樣,電子郵箱地址可能記錄在User-Agent首部字段)
虛擬主機運行在同一個ip上,所以用Host區分
Host字段是惟一一個HTTP/1.1規定必須被包含在請求頭內的首部字段
首部字段會告訴服務器請求的資源所處的互聯網主機名和端口號(當服務器未設置主機名時,直接發送一個空值)
條件請求:使用首部 If-xxx 發出的請求。
當服務器接收條件請求時,只有條件爲真纔會執行請求。
只有If-matche的字段和Etag的值一致時,服務器才接受,不然412 Precondition Failed
在If-modify-Since字段指定的時間以後資源更新,服務器會接受請求,不然返回304 Not Modified
If-None-Match字段和Etag值不同時,可處理該請求
指定的If-Range字段值和請求資源一致時,會請求處理,反之返回全體資源。
若不適用If-Range字段,服務器會返回304,而後客戶端再發請求,服務器纔會返回全體資源。
在If-Unmodify-Since字段指定的時間以內資源更新,服務器會接受請求,不然返回412 Precondition Failed
通過的服務器最大數目。,每通過一個服務器減1,當Max-Forward減到0時,請求不在轉發,直接返回響應。
做用:能夠了解以返回的那臺服務器爲終點,所通過的服務器通訊狀況。避免因爲服務器轉發失敗致使客戶端沒有響應。
發生在客戶端與代理服務器之間的認證質詢,與Authorzation認證字段類似(客戶端與服務器之間的認證質詢)。
獲取部分資源的範圍請求。若能夠處理,返回206 PratialContent,若不能處理,返回200及所有資源。
告知服務器請求的原始資源的URL
告知服務器客戶端可以處理響應的傳輸編碼方式以及相應優先級,與Accept-Ecoding功能相似,可是隻用於傳輸編碼。
會將建立請求的瀏覽器和用戶代理名稱等信息傳達給服務器
告訴客戶端是否能處理範圍請求,獲取服務器某部分的資源。能夠處理返回byte,不能處理返回none
告訴客戶端,服務器在多久前建立了響應
告知客戶端實體標識
強Etage:不管實體發生多麼細微的變化都會改變其值
弱Etage:提示資源是否相同,只有資源發生根本改變,纔會改變其值。在最開始附加W/
將響應接收方引導至某個請求URI位置不一樣的資源
瀏覽器接收這個字段後會強制性地嘗試訪問重定向資源
把代理服務器所要求的的認證信息發送給客戶端
告訴客戶端多久後再次發請求
告知客戶端當前服務器上安裝的HTTP服務器應用層程序的信息。可能包括軟件應用名稱、版本號和安裝時啓動的可選項。
Vary可對緩存進行控制,用於源服務器向代理服務器傳達關於本地緩存使用方法的命令。
當代理服務器收到Vary首部字段指定獲取資源的請求時,若Accept-Langusge請求值相同時,直接從緩存讀取響應,不然先從源服務端獲取資源後才能做爲響應返回。
用於HTTP訪問認證
通知客戶端,它可以支持的HTTP方法。若服務器不支持HTTP,則返回405 Method Not Allowed並把所支持的方法寫入Allow
告知客戶端對實體部分內容編碼方式
告訴客戶端主體使用的天然語言
代表實體主體部分的大小
報文主體返回資源對應的URI
是一串由MD5算法生成的值,用於檢查主體在傳輸過程當中是否保存完整,以及確認傳輸到達。
告知客戶端做爲響應返回的實體的哪一個部分範圍請求。字段值以字節爲單位,表示當前發送部分及整個實體大小
實體主體內對象的媒體類型
將資源失效的日期告知客戶端。緩存服務器在接收到含有Expires的響應後,會以緩存響應請求。
資源最後被修改的時間
Cookies的工做機制是用戶識別及狀態管理
將cookies臨時寫入計算機,調用cookies時驗證,有效期、域、路徑、協議等內容
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:status=enable
請求中包含從服務器收到的cookie,能夠是多個
控制網站內容在其餘web網站的frame標籤的顯示問題
X-Frame-Options:DENY (拒絕)
X-Frame-Options:SAMEORIGN (容許源域名下的頁面匹配)
是針對跨站腳本攻擊的一種對策,控制瀏覽器XSS防禦機制的開關
0:將XSS過濾設置成無效狀態
1:將XSS過濾設置成有效狀態
拒絕我的信息被收集,拒絕被精準廣告追蹤
0:統一被追蹤
1:拒絕被追蹤
目的:保護用戶隱私