wsgi如何处理多个具有相同名称的请求标头?

时间:2009-11-26 01:41:31

标签: python http wsgi

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

如何表示具有相同标题名称的多个请求标头?

2 个答案:

答案 0 :(得分:9)

将多个Cookie合并为一个标头,以分号分隔。

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

答案 1 :(得分:3)

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

这是我到目前为止所发现的:

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

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

  

“。如果有多个标题字段   然后收到相同的字段名称   服务器必须重写它们   他们是作为一个单独收到的   头字段具有相同的语义   在被代表之前   metavariable“

这告诉我,如果你有多个具有相同键的标题行,你必须以某种方式将它们连接成一行。

HTTP_COOKIE作为示例,通过将所有key = value对连接成一行,并在它们之间用分号来支持这一点。