ASP.NET中的Request.Headers [“Header-Name”]区分大小写吗?

时间:2012-07-23 16:54:34

标签: asp.net http-headers

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

3 个答案:

答案 0 :(得分:12)

根据RFC2616

,它们不区分大小写
  

4.2邮件标题

     

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

答案 1 :(得分:3)

Request.Headers不区分大小写。

借鉴this answer

  

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

     
    

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

  

答案 2 :(得分:0)

我从未使用过ASP.NET,但RFC HTTP / 1.1定义message-headers字段名称不区分大小写。

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