HTTP報文內的HTTP信息以內容協商返回最合適的內容

同一個Web網站有可能存在着多份相同內容的頁面。好比英語版和中文版的Web頁面,它們內容上雖相同,但使用語言卻不一樣。當瀏覽器的默認語言爲英語或中文,訪問相同URL的Web頁面時,則會顯示對應的英語版或中文版的Web頁面。這樣的機制稱爲內容協商Content Negotiation)。瀏覽器

內容協商機制是指客戶端和服務器端就響應的資源內容進行交涉,而後提供給客戶端最爲適合的資源。內容協商會以響應資源的語言字符集編碼方式做爲判斷的基準服務器

包含在請求報文中的某些首部字段(以下)就是判斷的基準(這些首部字段的詳細說明後面再講):網站

  • Accept編碼

  • Accept-Charsetspa

  • Accept-Encodingip

  • Accept-Language資源

  • Content-Languageio

內容協商技術有如下3種類型:服務器端

  • 服務器驅動協商(Server-driven Negotiation):由服務器端進行內容協商。以請求的首部字段爲參考,在服務器端自動處理。但對用戶來講,以瀏覽器發送的信息做爲斷定的依據,並不必定能篩選出最優內容。coding

  • 客戶端驅動協商(Agent-driven Negotiation):由客戶端進行內容協商的方式。用戶從瀏覽器顯示的可選項列表中手動選擇。還能夠利用JavaScript腳本在Web頁面上自動進行上述選擇。好比按OS的類型或瀏覽器類型,自行切換成PC版頁面或手機版頁面。

  • 透明協商(Transparent Negotiation):是服務器驅動和客戶端驅動的結合體,是由服務器端和客戶端各自進行內容協商的一種方法。

相關文章
相關標籤/搜索