我可以用逗号分隔所有HTTP头吗?甚至授权?

我可以用逗号分隔所有HTTP头吗?甚至授权?,http,apache,rfc,rfc2616,Http,Apache,Rfc,Rfc2616,我正在阅读HTTP 1.1 RFCs,无法回答以下问题 我们有以下标题: Authorization: Basic Qmxvb21iZXJnOnRjbG1lU1JT, Basic 这会造成问题,因为Rails 3授权解析器由于“,”字符错误地解码字符串。我知道这很少见,但我们使用Apache httpd配置添加了这一点: RequestHeader append Authorization "Basic" early 报告说: 响应头将附加到同一响应的任何现有头 名称当一个新值合并到一个现有

我正在阅读HTTP 1.1 RFCs,无法回答以下问题

我们有以下标题:

Authorization: Basic Qmxvb21iZXJnOnRjbG1lU1JT, Basic
这会造成问题,因为Rails 3授权解析器由于“,”字符错误地解码字符串。我知道这很少见,但我们使用Apache httpd配置添加了这一点:

RequestHeader append Authorization "Basic" early
报告说:

响应头将附加到同一响应的任何现有头 名称当一个新值合并到一个现有的头上时,它是 用逗号与现有标题分隔。这是HTTP 给标题多个值的标准方法

但是我认为这个授权头不正确。RFC定义不允许这样做。但有些标题允许逗号分隔的列表。我不确定这是否是所有HTTP头的一般规则

我想在HTTP 1.1 RFC中找到一段证明我的观点的话,这是不正确的。我已经发现一些东西在说“这只对可以分离的标题有效”,但这并不是一个证据

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


这确实没有道理,但我正在寻找一个明确的证据。

答案在你引用的文本中:

“当且仅当消息头字段的整个字段值定义为逗号分隔列表[即#(值)]时,消息中可能存在多个具有相同字段名的消息头字段。”


“授权”并非如此。

我找不到其他任何东西。看起来这是睡了7个小时后的情况:-)