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 找到):