【问题标题】:How does wsgi handle multiple request headers with the same name?wsgi如何处理多个同名请求头?
【发布时间】:2010-12-20 13:02:20
【问题描述】:

在 WSGI 中,标头在环境中表示为“HTTP_XXX”值。例如 Cookie: 标头的值存储在环境的 HTTP_COOKIE 键中。

同名的多个请求头如何表示?

【问题讨论】:

    标签: python http wsgi


    【解决方案1】:

    多个 cookie 组合成一个标头,用分号分隔。

    the HTTP spec 允许多个标题,但仅适用于某些类型的标题,并且始终允许将这些标题合并为一个(尽管使用逗号,而不是分号)

    【讨论】:

      【解决方案2】:

      我认为这个问题的答案是微不足道的,但在挖掘了一下之后我不太确定。

      这是我目前发现的:

      WSGI PEP-333 (http://www.python.org/dev/peps/pep-0333/) 建议环境变量应该包含 CGI 规范所说的任何内容。

      CGI 规范(越来越难找到,很多断开的链接,我能在 draft-coar-cgi-v11-03 找到最好的)谈到元数据并说(第 6.1.5 节)

      "。如果多个标题字段带有 收到相同的字段名称,然后 服务器必须重写它们,好像 他们作为单曲收到 具有相同语义的头字段 在被代表之前 元变量”

      这向我表明,如果您有多个标题行具有相同的键,则必须以某种方式将它们合并为一行。

      例如,HTTP_COOKIE 通过将所有键=值对连接成一行并在它们之间用分号来支持这一点。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-01-19
        • 2021-12-21
        • 2019-11-29
        • 2018-08-19
        • 2013-01-12
        • 2013-01-31
        • 2021-05-25
        相关资源
        最近更新 更多