IETF RFC允许请求包含具有相同字段名称的多个标头,只要保留顺序并且可以使用逗号分隔的值列表将值转换为单个标头
http://tools.ietf.org/html/rfc2616#section-4.2
具有相同字段名称的多个消息头字段可以是
当且仅当该字段的整个字段值出现在消息中时 标题字段被定义为以逗号分隔的列表[即#(值)] 必须可以将多个标题字段组合成一个 “field-name:field-value”对,不改变语义 消息,通过将每个后续字段值附加到第一个,每个 用逗号分隔。头字段具有相同
的顺序 因此,收到的字段名称对于 解释组合字段值,因此代理不得 转发邮件时更改这些字段值的顺序。
ASP.NET如何处理具有相同字段名称的多个标头的存在?
HttpContext.Current.Request.Headers[]
Headers[]
是System.Collection.Specialized.NameValueCollection
,它是键值对的集合,其中值实际上可以是值的集合。
但目前尚不清楚如何从请求头中解构多个值:是通过解析单个值的逗号分隔列表构建的集合吗?或者它是从同一字段名称的一个或多个标题的集合中解构的?