设置Tomcat服务器的HTTP首部长度最大值

来源:互联网 发布:sql数据库实训 编辑:程序博客网 时间:2024/06/06 08:24
How to change tomcat http header maximum length limit?

如果客户端发送的HTTP首部长度超出了服务器的限制,会收到服务器返回的400错误信息。

Failed to load resource: the server responded with a status of 400 (Bad Request)

Http协议本身并没有对首部长度进行限制,但具体的服务器实现都有默认的限制值,同时都支持使用者根据需要自行修改。关于各种服务器对实现对HTTP首部长度的默认设置可以参考stackoverflow上面的讨论[传送门]。

Tomcat5.5的官方配置参考手册包含对首部长度的说明:

配置项名称是:maxHeaderCount

说明原文:The maximum size of the request and response HTTP header, specified in bytes. If not specified, this attribute is set to 4096 (4 KB).

翻译:maxHeaderCount属性代表请求和响应的HTTP首部的最大长度,单位是字节。如果不指定,该属性将被设为4096(4K)。
扩展:在Tomcat 6和7中,默认大小是8K。

如果默认大小无法满足实际需求,可以修改该配置项,配置文件路径是 $TOMCAT_HOME/conf/server.xml。

修改后的配置项如下。

<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 --><Connector port="8080" maxHttpHeaderSize="8192"           maxThreads="150" minSpareThreads="25" maxSpareThreads="75"           enableLookups="false" redirectPort="8443" acceptCount="100"           connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" maxPostSize="2000000"/>





0 0
原创粉丝点击