多行HTTP标头混淆

时间:2011-12-24 22:42:16

标签: http-headers concatenation multiline

在HTTP标头中可以是多行的。

例如:

  

每日一字:狐狸跳过来   棕色的狗。

但是,在阅读标准时,我得出的结论是前导和尾随空格可以删除,所以我们得到“The Fox Jumps Overthe brown dog”。 Overthe 成为一个单词,当它真的应该“超过”(两个单词,由空格分隔)。

如何在这种情况下处理HTTP值的解析,即如何将HTTP多线标题连接成与单行标题相同的东西?

1 个答案:

答案 0 :(得分:13)

the之前的空格既不是前导也不是尾随。

Section 4.2 of the standard将前导/尾随空格定义为“在字段值的第一个非空白字符之前或在字段值的最后一个非空白字符之后出现的线性空白”。此空格既不在字段值的第一个字符之前,也不在最后一个字符之后。

在字段值内部,这种线性空格的规则是“在解释字段值或向下游转发消息之前,它可以替换为单个[空格]。”

所以我们得到“狐狸跳过棕色的狗。”