2017-02-20 144 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节)或检查数据以确定其类型。

相关问题