我已經看到了Content-Language
和Accept-Language
的HTTP標頭,有人可以解釋這些是什麼和他們之間的區別?我有一個多語言網站,並且想知道是否應該爲用戶設置當前所選語言的網站。什麼是內容語言和接受語言?
回答
Content-Language
來自服務器,並讓客戶端知道請求的頁面上顯示的是什麼語言。 Accept-Language
來自客戶端,並讓服務器知道用戶的首選語言。可以有多種語言,每種語言都有可選的權重或「質量」值。例如:
Accept-Language: da, en-gb;q=0.8, en;q=0.7
(默認權重爲1,所以這是相當於da;q=1, en-gb;q=0.8, en;q=0.7
)。
您將不得不分析值和權重以查看是否有適當的翻譯,併爲用戶提供最高首選語言權重的翻譯。
建議您爲用戶提供一個替代選項,如Cookie設置值,以強制您的網站使用某種語言。這是因爲有些用戶可能希望以某種語言查看您的網站,而不會更改他們的語言接受偏好。
對你的回答略作調整:Content-Language是一個內容頭,因此它適用於從服務器到客戶端或從客戶端到服務器的內容。 – 2012-01-18 18:19:28
RFC2616:「Content-Language實體標題字段描述封閉實體的目標受衆的自然語言。但是,僅僅因爲實體中存在多種語言並不意味着它適用於多語言受衆。一個例子就是初學者的語言入門,如「拉丁語的第一課」,這明顯是爲有英語讀寫能力的讀者使用的。在這種情況下,內容語言恰當地只包括「en」。「R. Fielding,UC Irvine,J. Gettys,J. Mogul,H. Frystyk,L. Masinter,P. Leach,T. Berners-Lee; 1999. – 2017-04-04 12:59:38
因此,這不是頁面上的絕對語言。參見[RFC 2616第14.12節](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.12)。 – 2017-04-04 13:06:32
Content-Language
描述了特定內容旨在用於的語言。 Accept-Language
是用戶代理需要內容的語言列表。想到這一點的最佳方式是Content-Language
描述了內容,並且Accept-Language
傳達了首選項。
Content-Language是您所服務頁面的語言。 Accept-Language是您首選接受的語言列表。
Content-Language實體標題字段描述封閉實體的目標受衆的自然語言。請注意,這可能不等同於實體主體內使用的所有語言。
的Accept-Language請求頭域限制了一套自然語言是優選作爲請求
- 1. 多語言API的內容 - 語言
- 2. 語言內容樹
- 3. 什麼是「自動兼容語言」?
- 4. 接受語言列表
- 5. CrossWalk - 接受語言標題
- 6. 這是什麼語言?
- 7. 這是什麼語言?
- 8. 這是什麼語言?
- 9. 那是什麼語言?
- 10. 什麼語言是c#?
- 11. 什麼是模板語言?
- 12. 什麼是膠水語言?
- 13. 什麼是語言綁定?
- 14. 這是什麼語言?
- 15. 什麼是腳本語言?
- 16. 這是什麼語言(javascript?)?
- 17. 遞歸可判定語言,接受無限語言
- 18. 更改內容語言
- 19. 「模板語言如HTMLBars」是什麼意思?什麼是HTMLBars?一種語言?
- 20. 無限語言不能定期?什麼是有限語言?
- 21. 編程語言和腳本語言有什麼區別?
- 22. Yii框架和多語言內容
- 23. 爲什麼語言改變爲英語在語言欄在C#
- 24. Python是語言還是腳本語言?
- 25. Python語法最接近的語言是更低級的語言!
- 26. 將LinguaPlone子語言轉換回所有內容的語言?
- 27. 多語言:將自定義語言添加到Web內容php
- 28. Yii錯誤信息語言與內容語言
- 29. 彙編語言和機器語言之間的關係是什麼?
- 30. $語言 - >語言獲取默認語言不是當前語言[Drupal 7]
你可能不應該添加內容,語言到您的網站打擾的響應,因爲瀏覽器通常不會使用它們。但是,您可以在HTML中使用lang屬性。 – 2012-01-18 18:21:09