ios phonegap中的查询字符串是否有任何长度限制?

时间:2012-02-20 09:38:58

标签: string cordova

ios phonegap中的查询字符串是否有长度限制?

感谢!!!

1 个答案:

答案 0 :(得分:2)

虽然HTTP协议的规范没有指定任何最大长度,但Web浏览器和服务器软件会施加实际限制。

Microsoft Internet Explorer(浏览器)

Microsoft声明 Internet Explorer 中URL的最大长度为2,083个字符,URL的路径部分中不超过2,048个字符。在我的测试中,尝试使用比此更长的URL会在Internet Explorer中生成明确的错误消息。

Firefox(浏览器)

在65,536个字符后,位置栏不再显示Windows Firefox 1.5.x中的URL。但是,较长的网址可以使用。我在100,000个字符后停止测试。

Safari(浏览器)

至少80,000个字符可以使用。我在80,000个字符后停止了测试。

Opera(浏览器)

至少有190,000个字符可以使用。我在190,000个字符后停止测试。 Opera 9 for Windows继续在位置栏中显示完全可编辑,可复制和可粘贴的URL,即使是190,000个字符。

Apache(服务器)

我早期尝试测量网络浏览器中的最大网址长度时,服务器网址长度限制大约为4,000个字符,之后Apache产生“413实体太大”错误。我使用了当前最新的Red Hat Enterprise Linux 4中的Apache版本。官方Apache文档仅提到请求中单个字段的8,192字节限制。

Microsoft Internet Information Server

默认限制为16,384个字符(是的,Microsoft的Web服务器接受比Microsoft的Web浏览器更长的URL)。这是可配置的。 Perl HTTP ::守护程序(服务器)

最多可以使用8,000个字节。那些使用Perl的HTTP :: Daemon模块构建Web应用程序服务器的人将在所有HTTP请求头的组合大小上遇到16,384字节的限制。这不包括POST方法表单数据,文件上载等,但它确实包含URL。实际上,当URL明显长于8,000个字符时,这会导致413错误。可以轻松删除此限制。在Daemon.pm中查找所有出现的16x1024,并用更大的值替换它们。当然,这确实会增加您遭受拒绝服务攻击的风险。

<强>推荐

极长的网址通常是个错误。超过2,000个字符的网址在最受欢迎的网络浏览器中无效。如果您希望您的网站为大多数互联网用户工作,请不要使用它们。

参考文献:http://www.boutell.com/newfaq/misc/urllength.html