HTTP header 值的可能类型
Possible types of a HTTP header value
通过查询字符串传递的值的类型始终是字符串。当 HTTP 客户端需要发送一个数字时,比方说 42
,实际上是 "42"
。 查询字符串中的所有内容实际上都是一个字符串。
通过 header 传递的值类型是否相同?
换句话说,如果我们发送一个 HTTP 请求 "FooBar"
header 的值为 42
,而另一个请求的值为 header设置为 "42"
,服务器是否会将接收到的两个值视为相同类型和值(即 "42"
)?
它始终是一个字符串,即使在 HTTP/2
中也是如此
tldr; Headers 是文本,有时是 ISO 8859,但通常只是 US-ASCII.
根据RFC7230 (last paragraph), HTTP fields have used to be text and new headers should continue to do so, restricting the values to consist of US-ASCII个八位字节。
1982 RFC822指定ASCII为格式 header body.
参考文献(通过 List of HTTP Headers 找到):
通过查询字符串传递的值的类型始终是字符串。当 HTTP 客户端需要发送一个数字时,比方说 42
,实际上是 "42"
。 查询字符串中的所有内容实际上都是一个字符串。
通过 header 传递的值类型是否相同?
换句话说,如果我们发送一个 HTTP 请求 "FooBar"
header 的值为 42
,而另一个请求的值为 header设置为 "42"
,服务器是否会将接收到的两个值视为相同类型和值(即 "42"
)?
它始终是一个字符串,即使在 HTTP/2
中也是如此tldr; Headers 是文本,有时是 ISO 8859,但通常只是 US-ASCII.
根据RFC7230 (last paragraph), HTTP fields have used to be text and new headers should continue to do so, restricting the values to consist of US-ASCII个八位字节。
1982 RFC822指定ASCII为格式 header body.
参考文献(通过 List of HTTP Headers 找到):