ios PhoneGap 中的查询字符串有长度限制吗?
ios PhoneGap 中的查询字符串有长度限制吗?
谢谢!!!
Is there any length limitation of query string in ios phonegap?
Thanks!!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
ios PhoneGap 中的查询字符串有长度限制吗?
谢谢!!!
Is there any length limitation of query string in ios phonegap?
Thanks!!!
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
尽管 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。不过,更长的 URL 也可以。 100,000 个字符后我停止了测试。
Safari(浏览器)
至少可以使用 80,000 个字符。 80,000 个字符后我停止了测试。
Opera(浏览器)
至少可以使用 190,000 个字符。 190,000 个字符后我停止了测试。 Opera 9 for Windows 继续在地址栏中显示完全可编辑、可复制和可粘贴的 URL,即使有 190,000 个字符。
Apache(服务器)
我早期尝试测量 Web 浏览器中的最大 URL 长度,但遇到了大约 4,000 个字符的服务器 URL 长度限制,之后 Apache 生成了“413 Entity Too Large”错误。我使用了 Red Hat Enterprise Linux 4 中最新的 Apache 版本。Apache 官方文档仅提到请求中单个字段的 8,192 字节限制。
Microsoft Internet Information Server
默认限制为 16,384 个字符(是的,Microsoft 的 Web 服务器接受比 Microsoft 的 Web 浏览器更长的 URL)。这是可配置的。
Perl HTTP::Daemon(服务器)
最多可以使用 8,000 字节。使用 Perl 的 HTTP::Daemon 模块构建 Web 应用程序服务器时,所有 HTTP 请求标头的总大小将受到 16,384 字节的限制。这不包括 POST 方法表单数据、文件上传等,但它确实包括 URL。实际上,当 URL 明显长于 8,000 个字符时,这会导致 413 错误。这个限制可以很容易地消除。在 Daemon.pm 中查找所有出现的 16x1024 并将其替换为更大的值。当然,这确实会增加您遭受拒绝服务攻击的风险。
建议
过长的 URL 通常是一个错误。超过 2,000 个字符的 URL 将无法在最流行的 Web 浏览器中运行。如果您希望您的网站适合大多数 Internet 用户,请不要使用它们。
参考文献:http://www.boutell.com/newfaq/misc/urllength.html
Although the specification of the HTTP protocol does not specify any maximum length, practical limits are imposed by web browser and server software.
Microsoft Internet Explorer (Browser)
Microsoft states that the maximum length of a URL in Internet Explorer is 2,083 characters, with no more than 2,048 characters in the path portion of the URL. In my tests, attempts to use URLs longer than this produced a clear error message in Internet Explorer.
Firefox (Browser)
After 65,536 characters, the location bar no longer displays the URL in Windows Firefox 1.5.x. However, longer URLs will work. I stopped testing after 100,000 characters.
Safari (Browser)
At least 80,000 characters will work. I stopped testing after 80,000 characters.
Opera (Browser)
At least 190,000 characters will work. I stopped testing after 190,000 characters. Opera 9 for Windows continued to display a fully editable, copyable and pasteable URL in the location bar even at 190,000 characters.
Apache (Server)
My early attempts to measure the maximum URL length in web browsers bumped into a server URL length limit of approximately 4,000 characters, after which Apache produces a "413 Entity Too Large" error. I used the current up to date Apache build found in Red Hat Enterprise Linux 4. The official Apache documentation only mentions an 8,192-byte limit on an individual field in a request.
Microsoft Internet Information Server
The default limit is 16,384 characters (yes, Microsoft's web server accepts longer URLs than Microsoft's web browser). This is configurable.
Perl HTTP::Daemon (Server)
Up to 8,000 bytes will work. Those constructing web application servers with Perl's HTTP::Daemon module will encounter a 16,384 byte limit on the combined size of all HTTP request headers. This does not include POST-method form data, file uploads, etc., but it does include the URL. In practice this resulted in a 413 error when a URL was significantly longer than 8,000 characters. This limitation can be easily removed. Look for all occurrences of 16x1024 in Daemon.pm and replace them with a larger value. Of course, this does increase your exposure to denial of service attacks.
Recommendations
Extremely long URLs are usually a mistake. URLs over 2,000 characters will not work in the most popular web browser. Don't use them if you intend your site to work for the majority of Internet users.
References : http://www.boutell.com/newfaq/misc/urllength.html