我想知道HTTP协议中允许多少个标头。有什么限制吗?
请求和响应的限制是否不同?
通过HTTP RFC进行,但没有运气。能否请您提供任何与此相关的正式文件或链接。
答案 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