在 HTTP header 中可以是多行的。
例如:
Word-Of-The-Day: The Fox Jumps Over
the brown dog.
然而,在阅读标准时,我得出的结论是可以删除前导和尾随空格 ,所以我们得到了“The Fox Jumps Over the brown dog”。 Overthe 变成了一个词,而实际上它应该是“Over the”(两个词,由空格分隔)。
在这种情况下,我如何处理 HTTP 值的解析,即 如何连接 HTTP 多行 header 以与单行 header 含义相同?
最佳答案
the
之前的空格既不领先也不落后。
Section 4.2 of the standard将前导/尾随空白定义为“在字段值的第一个非空白字符之前或在字段值的最后一个非空白字符之后出现的线性空白”。该空格既不在字段值的第一个字符之前,也不在最后一个字符之后。
字段值内部的这种线性空白的规则是“在解释字段值或向下游转发消息之前,它可以被替换为单个 [空格]”。
所以我们得到了“狐狸跳过棕色的狗”。
关于http-headers - 多行 HTTP header 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8627263/