发送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)
由于Content-type
标头,浏览器可以明确告诉服务器使用了哪种编码。 Content-type
可能包含charset
,但可以按类型推断编码。 For example,application/json
:
Content-type:application / json; charset = utf-8表示内容 采用JSON格式,以UTF-8字符编码编码。 对于JSON来说,指定编码有点多余,因为 JSON的默认(仅?)编码是UTF-8。所以在这种情况下 知道它正在处理,接收服务器显然很高兴 JSON并假设默认情况下编码为UTF-8,这就是它的原因 有或没有标题。
Content-type
not defined in request的情况怎么样?
生成包含有效负载主体的消息的发送方应该是 除非该消息,否则在该消息中生成Content-Type头字段 所包含的表示的预期媒体类型是未知的 发件人。如果Content-Type标头字段不存在,则为收件人 可以假定媒体类型为“application / octet-stream” ([RFC2046],第4.5.1节)或检查数据以确定其类型。