WebTestingRL Asked: 2021-04-17 23:42:18 +0800 CST2021-04-17 23:42:18 +0800 CST 2021-04-17 23:42:18 +0800 CST Upgrade: 标头可以在逗号之间有空格吗? 772 因此,我看到 Apache 默认显示 Upgrade 标头,如下所示: Upgrade: h2,h2c 下面的标题是否也有效?: Upgrade: h2, h2c 升级标头中的逗号之间是否允许有空格? 信息: 我谈论的是响应 Upgrade: apache 通常发送的标头。 http-headers 1 个回答 Voted Best Answer Martin 2021-04-18T00:43:47+08:002021-04-18T00:43:47+08:00 定义 HTTP 标头的 RFC 可能最好地回答这个问题:RFC 2616。 在第 4.2 节中,定义了标题的一般形式,写到: 在解释字段值或向下游转发消息之前,任何出现在字段内容之间的 LWS [线性空白] 都可以用单个 SP 替换。 和标题格式: message-header = field-name ":" [ field-value ] field-name = token field-value = *( field-content | LWS ) field-content = <the OCTETs making up the field-value and consisting of either *TEXT or combinations of token, separators, and quoted-string> 请注意有关字段内容的部分。在特殊的 14.42 中描述升级标头的部分没有提及任何进一步的限制。这就是为什么我对您的问题的回答是:是的,值之间的空格应该是合法的。 [编辑] 抱歉引用了错误的 RFC,正确的是RFC7231 - 但我的回答仍然有效,请参阅附录B。本节列出了与过时的 RFC 2616 相比的更改,并且未列出标头格式的更改。 在RFC 7230的第 3.2 节中可以找到非常相似的新定义: header-field = field-name ":" OWS field-value OWS field-name = token field-value = *( field-content / obs-fold ) field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ] field-vchar = VCHAR / obs-text obs-fold = CRLF 1*( SP / HTAB ) ; obsolete line folding ; see Section 3.2.4
定义 HTTP 标头的 RFC 可能最好地回答这个问题:RFC 2616。
在第 4.2 节中,定义了标题的一般形式,写到:
和标题格式:
请注意有关字段内容的部分。在特殊的 14.42 中描述升级标头的部分没有提及任何进一步的限制。这就是为什么我对您的问题的回答是:是的,值之间的空格应该是合法的。
[编辑]
抱歉引用了错误的 RFC,正确的是RFC7231 - 但我的回答仍然有效,请参阅附录B。本节列出了与过时的 RFC 2616 相比的更改,并且未列出标头格式的更改。
在RFC 7230的第 3.2 节中可以找到非常相似的新定义: