HTTP协议中允许多少个标头?

时间:2018-11-19 09:18:01

标签: http networking

我想知道HTTP协议中允许多少个标头。有什么限制吗?

请求和响应的限制是否不同?

通过HTTP RFC进行,但没有运气。能否请您提供任何与此相关的正式文件或链接。

2 个答案:

答案 0 :(得分:2)

HTTP / 1.1没有定义这样的限制。参见RFC 7230,第3.2.5节(https://greenbytes.de/tech/webdav/rfc7230.html#field.limits):

  

3.2.5。字段限制

     

HTTP并未对每个标头的长度设置预定义的限制   字段或整个标题部分的长度,如上所述   在第2.5节中。各个标头字段的各种临时限制   长度在实际中找到,通常取决于具体领域   语义。

     

接收请求标头字段或一组字段的服务器,   大于其希望处理的大小,必须以适当的4xx响应   (客户端错误)状态代码。忽略此类标题字段会增加   服务器请求走私攻击的漏洞(第9.5节)。

     

客户端可以丢弃或截断接收到的标头字段   如果字段语义是   这样就可以安全地忽略掉落的值而无需更改   消息框架或响应语义。

答案 1 :(得分:1)

HTTP没有定义任何限制。但是请注意,Web服务器可能会定义它们接收的标头的最大大小。

“当且仅当该报头字段的整个字段值都定义为逗号分隔的列表[即,#(值)]时,消息中才会存在多个具有相同字段名的消息报头字段”。来源:https://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html