3 回答
TA贡献1796条经验 获得超4个赞
尽管每种Web服务器软件都有一些限制,但是HTTP请求行加标头字段或每个标头字段是否有限制是有区别的。
总结如下:
的Apache 1.3,2.0,2.2,2.3:8190字节(对于每个报头字段)
IIS:
4.0:2097152字节(用于请求行和标题字段)
5.0:131072字节,Windows 2000 Service Pack 4带16384字节(用于请求行和标题字段)
6.0:16384字节(用于每个标头字段)
Tomcat:
5.5.x / 6.0.x:49152字节(用于请求行和标题字段)
7.0.x:8190字节(用于请求行和标题字段)
得出以下结论:要被以上所有Web服务器接受,请求的请求行加上标题字段不得超过8190 Bytes。这也是每个标头字段的限制(实际上更少)。
TA贡献2080条经验 获得超4个赞
对于Apache,我找到了这篇Apache安全服务器限制文章,其中列出了以下指令:
# allow up to 100 headers in a request
LimitRequestFields 100
# each header may be up to 8190 bytes long
LimitRequestFieldsize 8190
对于Nginx,来自HttpCoreModule 的large_client_header_buffers指令对此进行控制:
请求的最长标头行也必须不超过一个缓冲区的大小,否则客户端将收到错误“错误的请求”(400)。
默认情况下,一个缓冲区的大小等于页面的大小,具体取决于平台是4K还是8K
添加回答
举报