【问题标题】:How to set the separator for HttpHeaders?如何设置 HttpHeaders 的分隔符?
【发布时间】:2014-12-23 11:50:58
【问题描述】:

在我的 WebApi 应用程序中,当多个标头具有相同名称时,是否可以获取原始数据?

当传入多个具有相同名称的 Http 标头时,它们会以“,”作为分隔符连接。 System.Net.Http.Headers 下的 HttpHeaders 类似乎是罪魁祸首。

我的一些标题包含逗号,因此使用逗号作为分隔符并不理想。

我想将分隔符更改为不太常见的东西(我的选择),或者能够在加入之前访问这些值。

有什么想法吗?

提前致谢。

【问题讨论】:

    标签: c# .net asp.net-web-api http-headers


    【解决方案1】:

    仔细检查规范,看起来逗号是一个保留字符,用于在同一字段名下指定多个标题字段值:http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2

    具有相同字段名的多个消息头字段可以是 当且仅当该消息的整个字段值出现在消息中 标头字段被定义为一个逗号分隔的列表 [即,#(values)]。 必须可以将多个标头字段合并为一个 “field-name: field-value”对,不改变语义 消息,通过将每个后续字段值附加到第一个,每个 用逗号分隔。头域相同的顺序 因此,收到的字段名称对解释很重要 的组合字段值,因此代理不得更改 转发消息时这些字段值的顺序。”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-05
      • 1970-01-01
      • 2016-11-09
      • 1970-01-01
      • 2021-03-04
      • 1970-01-01
      相关资源
      最近更新 更多