Mic*_*ach 66
您可以编辑 tomcat/conf/server.xml 的 HTTP/1.1 连接器条目,并添加一个 maxHttpHeaderSize="65536" 以从默认的最大 8K 左右增加到 64K。我想您可以根据需要将这个数字提高到最高,但目前 64K 足以满足我的需求,所以我还没有尝试过。
<Connector port="8080" maxHttpHeaderSize="65536" protocol="HTTP/1.1" ... />
Run Code Online (Sandbox Code Playgroud)
RFC2616 不强制执行HTTP GET 请求的长度,因为 Microsoft 报告了其IE 最大长度支持页面。
因此,最大 GET 长度是客户端(浏览器)相关问题。如果你的应用程序被人们使用,你可以强制使用给定的浏览器,那么你可以简单地找到这个浏览器支持的长度。
在每种情况下,我都建议查看维基百科页面,了解有关 Query 字符串(请求为服务器端应用程序带来参数的部分,最终出现在请求中的“?”之后的那些浏览器相关问题。
当然,tomcat 可能也会在服务器端设置限制。RFC 说:
服务器必须能够处理它们所服务的任何资源的 URI,并且如果它们提供可以生成此类 URI 的基于 GET 的形式,则它们应该能够处理无限长度的 URI。如果 URI 的长度超出了服务器的处理能力,服务器应该返回 414(Request-URI Too Long)状态(参见第 10.4.15 节)。
所以你可以很容易地测试 Tomcat 是否有限制,并找出这个限制是什么,只是使用不同的请求,从一个很长的请求开始,然后下降一半。然后使用二分法快速找到精确值。
归档时间: |
|
查看次数: |
101700 次 |
最近记录: |