2011-12-24 72 views
6

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

例如:

字的最天:狐狸跃过
               黄狗。

然而,阅读标准的时候,我得出的结论是开头和结尾的空白可以被移除,所以我们得到“狐狸跳温习黄狗。” 超越成为一个词,当它真的应该已经“超过”(两个词,由空白分隔)。

如何在这种情况下处理HTTP值的解析,即如何连接HTTP-多行标题以表示与单行标题相同的内容?

回答

12

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

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

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

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

+0

我看了一下,当我看到一个转储时,它看起来像一个领先的空白空间。没有想到它在中间,因为它是一条线的开始。 – unixman83 2011-12-24 23:12:54