2017-02-20 142 views
1

瀏覽器在發送HTTP請求時使用什麼編碼?瀏覽器編碼HTTP請求

我的意思是當瀏覽器發送第一個請求時,它如何確保它使用的編碼能夠被服務器理解?

實施例:

GET /hello.htm HTTP/1.1 
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT) 
Host: www.tutorialspoint.com 
Accept-Language: en-us 
Accept-Encoding: gzip, deflate 
Connection: Keep-Alive 
+0

在這種情況下,「編碼」意味着什麼*確切*? –

+0

@JulianReschke我的意思是,當發送HTTP請求時,它必須以某種方式進行編碼,例如UTF-8,UTF-16。它如何知道服務器可以解碼的編碼? – CuriousGuy

+0

所以你在談論URI? –

回答

0

一個瀏覽器可以明確地告訴服務器,其編碼用於由於Content-type報頭。 Content-type可能包含charset,但可以按類型推斷編碼。 For exampleapplication/json

Content-type:application/json; charset = utf-8指定內容 爲JSON格式,以UTF-8字符編碼編碼。 由於JSON的 默認(僅限?)編碼是UTF-8,因此指定編碼對於JSON有點多餘。因此,在這種情況下, 接收服務器顯然很高興知道它正在處理 JSON,並假定默認情況下編碼爲UTF-8,這就是爲什麼它 可以使用或不使用標頭。

那麼Content-typenot defined in request的情況怎麼樣?

生成包含有效載荷機構應 生成該消息中一個Content-Type首部字段,除非所附的表示的 旨在媒體類型是未知的 發件人的郵件發送者。如果Content-Type頭字段不存在,接收方 可以採用媒體類型「application/octet-stream」 ([RFC2046],第4.5.1節)或檢查數據以確定其類型。

相關問題