HTTP要點概述:十,內容協商返回合適的內容

一,內容協商(Content Negotiation)

同一個Web網站可能存在很多份相同內容的頁面,比如英文版和中文版的Web頁面,它們內容上相同,但是使用語言不同。比如大家進入英文版的google首頁和中文版的google首頁,頁面元素佈局一致,但是顯示的語言不同。

當瀏覽器的默認語言爲英文或者中文,訪問相同URI的Web頁面時候,就返回對應的英文或中文的Web頁面,這種機制稱爲內容協商(Content Negotiation)。

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


二,內容協商相關的首部字段

包含在請求報文中的某些首部字段就是內容協商判斷的基準。

Accept

Accept-Charset

Accept-Encoding

Accept-Language

Content-Language


三,內容協商技術的類型

內容協商技術有下面三種類型

1 服務器驅動協商(Server-driven Negotiation)

由服務器端進行內容協商。以請求的首部字段作爲參考,在服務器端自動處理。對於用戶來說,以瀏覽器發送的信息爲判斷依據,並不一定能篩選出最優內容。

2 客戶端驅動協商(Agent-driven Negotiation)

由客戶端進行內容協商的方式。用戶從瀏覽器顯示的可選項列表中手動選擇。還可以利用javaScript腳本在Web頁面中自動進行上述選擇。比如按OS的類型或者瀏覽器類型,自行切換成PC版頁面或者手機版頁面

3 透明協商(Transparent Negotiation)

是服務器驅動和客戶端驅動的結合體,是由服務器和客戶端各自進行內容協商的一種方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章