Michael Gundlach Asked: 2009-08-21 07:42:08 +0800 CST2009-08-21 07:42:08 +0800 CST 2009-08-21 07:42:08 +0800 CST Tomcat 中的最大 URL 长度是多少? 772 它是可配置的吗?我可以设置 Tomcat 以使具有 200K 查询参数的 URL 成功通过包含的 servlet 吗? 是的,我知道当您有大量数据时应该使用 POST;在这种特殊情况下,这是一个不太愉快的选择。包含的应用程序(搜索引擎)需要 GET 请求来执行搜索。 tomcat http rfc uri 4 个回答 Voted Best Answer Michael Gundlach 2009-08-25T09:18:00+08:002009-08-25T09:18:00+08:00 您可以编辑 tomcat/conf/server.xml 的 HTTP/1.1 连接器条目,并添加一个 maxHttpHeaderSize="65536" 以从默认最大值 8K 左右增加到 64K。我想你可以根据需要将这个数字提高到最高,但目前 64K 足以满足我的需求,所以我没有尝试过。 <Connector port="8080" maxHttpHeaderSize="65536" protocol="HTTP/1.1" ... /> drAlberT 2009-08-21T07:59:42+08:002009-08-21T07:59:42+08:00 RFC2616 不强制HTTP GET 请求的长度,因为 Microsoft 报告其IE 最大长度支持页面。 因此,最大 GET 长度是与客户端(浏览器)相关的问题。如果您的应用程序被人们使用,您可以强制使用给定的浏览器,那么您可以简单地找到该浏览器支持的长度。 在每种情况下,我都建议查看有关查询字符串上与浏览器相关的问题的维基百科页面(请求中为服务器端应用程序带来参数的部分,“?”后面的那个最终出现在请求中。 当然,也许tomcat也会在服务器端设置限制。RFC 说: 服务器必须能够处理它们所服务的任何资源的 URI,并且如果它们提供可以生成此类 URI 的基于 GET 的表单,则应该能够处理无限长度的 URI。如果 URI 比服务器可以处理的长(参见第 10.4.15 节),服务器应该返回 414(Request-URI Too Long)状态。 因此,您可以轻松测试 Tomcat 是否有限制,并找出这个限制是什么,只是使用不同的请求,从一个很长的请求开始,给出错误并下降一半。然后使用二分法快速找到准确值。 1615903 2016-02-27T04:34:55+08:002016-02-27T04:34:55+08:00 对于 AJP 连接器,您需要调整packetSize属性: <Connector port="8009" protocol="AJP/1.3" packetSize="65536" /> Thalaiselvam 2011-04-09T03:37:01+08:002011-04-09T03:37:01+08:00 您可以在 Tomcat 服务器 ( ..\Tomcat 6.0\conf\server.xml ) 上更改配置 < Connector port="8983" maxHttpHeaderSize="100000" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
您可以编辑 tomcat/conf/server.xml 的 HTTP/1.1 连接器条目,并添加一个 maxHttpHeaderSize="65536" 以从默认最大值 8K 左右增加到 64K。我想你可以根据需要将这个数字提高到最高,但目前 64K 足以满足我的需求,所以我没有尝试过。
RFC2616 不强制HTTP GET 请求的长度,因为 Microsoft 报告其IE 最大长度支持页面。
因此,最大 GET 长度是与客户端(浏览器)相关的问题。如果您的应用程序被人们使用,您可以强制使用给定的浏览器,那么您可以简单地找到该浏览器支持的长度。
在每种情况下,我都建议查看有关查询字符串上与浏览器相关的问题的维基百科页面(请求中为服务器端应用程序带来参数的部分,“?”后面的那个最终出现在请求中。
当然,也许tomcat也会在服务器端设置限制。RFC 说:
因此,您可以轻松测试 Tomcat 是否有限制,并找出这个限制是什么,只是使用不同的请求,从一个很长的请求开始,给出错误并下降一半。然后使用二分法快速找到准确值。
对于 AJP 连接器,您需要调整
packetSize
属性:您可以在 Tomcat 服务器 ( ..\Tomcat 6.0\conf\server.xml ) 上更改配置