27

在 ASP.NET 中是否Request.Headers["Header-Name"]区分大小写?如果是这样,如果我不确定客户端会将它发送到什么情况下,我应该如何获得某个标头(例如“X-requested-with”)?

4

3 回答 3

24

不,根据RFC2616,它们不区分大小写

4.2 消息头

HTTP 标头字段,包括 general-header(第 4.5 节)、
request-header(第 5.3 节)、response-header(第 6.2 节)和
entity-header(第 7.1 节)字段,遵循与第 7.1 节中给出的相同的通用格式RFC 822 [9] 的 3.1。每个标头字段由
一个名称后跟一个冒号(“:”)和字段值组成。字段名称
不区分大小写。字段值可以在任意数量
的 LWS 之前,但最好使用单个 SP。
通过在每个额外行之前
至少使用一个 SP 或 HT ,可以将标题字段扩展到多行。应用程序在生成 HTTP 结构时应该遵循“通用形式”,其中一种是已知的或指示的,因为
可能存在一些无法接受任何内容的实现

于 2012-07-23T17:02:39.980 回答
6

Request.Headers不区分大小写。

借用这个答案

来自RFC 2616,“超文本传输​​协议 -- HTTP/1.1”,§4.2,“消息头”:

每个标头字段由一个名称后跟一个冒号(“:”)和字段值组成。字段名称不区分大小写。

于 2012-07-23T17:01:50.423 回答
0

我从未使用过 ASP.NET,但 RFC HTTP/1.1 定义消息头字段名不区分大小写。

如果 ASP.NET 遵循 HTTP 规范,Request.Header["Header-Name"] 将返回与 Request.Header["header-name"] 相同的值。

于 2012-07-23T17:09:56.973 回答