內容協商機制
-
指客戶端和服務器端就響應的資源內容進行交涉,然後提供給客戶端最合適的資源,內容協商會以響應資源的語言,字符集,編碼方式等作爲判斷的基準
-
內容協商方式
-
客戶端驅動( 兩次請求 ): 客戶端發起請求,服務器發送可選項列表,客戶端做出選擇後再發送第二次請求
-
服務器驅動( 一次請求,最常用 ): 服務器檢查客戶端的請求頭部集並決定提供哪個版本的頁面
-
透明協商: 某個中間設備( 通常是緩存代理 )代表客戶端進行協商
-
服務器驅動協商
-
請求頭部集
- Accept: 告知服務器發送何種媒體類型,對應Content-Type
- Accept-Language: 告知服務器發送何種語言,對應Content-Language
- Accept-Charset: 告知服務器發送何種字符集,對應Content-Type
- Accept-Encoding: 告知服務器採用何種編碼,對應Content-Encoding
-
近似匹配 q機制 ( 權重值 )
// 優先接收荷蘭語,沒有就返回英語,不接受法語和土耳其語 Accept-Language: en;q=0.5, fr;q=0.0, nl;q=1.0 tr;q=0.0