为什么HTTP服务器禁止在HTTP标头名称中使用下划线

问题描述 投票:65回答:2

我在nginx代理未传输自定义HTTP SESSION_ID标头时遇到问题。

有人告诉我,根据HTTP RFC,下划线是禁止的。

[搜索,我发现Apachenginx之类的大多数服务器在RFC2616 4.2节中将它们定义为非法,它说:

遵循与RFC 822 [9]的3.1节相同的通用格式>

RFC822说:

字段名称必须由可打印的ASCII字符组成(即,字符的值介于33.和126.之间,小数点,冒号除外)

下划线是ASCII表中十进制字符95,在33-126范围内。

我想念什么?

我有一个自定义HTTP SESSION_ID标头未由nginx代理传输的问题。有人告诉我,根据HTTP RFC,下划线是禁止的。搜索时,我发现大多数服务器...

apache http nginx rfc
2个回答
117
投票

不被禁止,这是CGI的遗产。请参阅“ Missing (disappearing) HTTP Headers”。


17
投票

RFC 7230, sec. 3.2.允许在标题字段中使用下划线,但不常见。

© www.soinside.com 2019 - 2024. All rights reserved.