http-headers - 多行 HTTP header 混淆

标签 http-headers concatenation multiline

在 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/

相关文章:

mysql - 如何在MySql中使用Group_Concat()进行连接

groovy - 我可以将条件表达式放在 groovy 的多行字符串中吗?

spring-boot - Feign/Eureka 客户端不传递 X-Forwarded-For header

javascript - JS WebSocket 与 Java 握手

arrays - 如何在 Nim 中连接两个数组?

scala - 如何修改 REPL 中的上一行 - 与使用向上/向下箭头输入每一行相比,scala 修改输入错误以节省时间

c# - 无法使正则表达式与多行一起正常工作

php - 如何通过 PHP 正确发送 PDF 文件?

node.js - Node + Angular : download a file with HTTP request

Javascript + 和函数的字符串返回值?