每个浏览器的URL的最大长度是什么?
最大 URL 长度是 HTTP 规格的一部分吗?
每个浏览器的URL的最大长度是什么?
最大 URL 长度是 HTTP 规格的一部分吗?
当前回答
HTTP 1.1 规格说:
HTTP 中的 URI 可以以绝对的形式或与某些已知基础的 URI 相对,取决于它们的使用背景。 两种形式因绝对的 URI 总是以一个序列名称开始而有所区别。 有关 URL 合成和序列的最终信息,请参见“统一资源识别器(URI):通用序列和序列”。
正如 @Brian 提到的那样, HTTP 客户端(例如浏览器)可能有自己的限制,而 HTTP 服务器则会有不同的限制。
其他回答
我有 SharePoint 2007, 2010 的经验,在 SharePoint 中,您可以从服务器侧创建的 URL 长度的限制,所以它主要取决于 1) 客户端(浏览器、版本和操作系统) 和 2) 服务器技术、 IIS、Apache 等。
更长的答案 - 首先,标准...
建议所有 HTTP 发送者和接收者支持,至少,请求线长度为 8000 位元。
事实上,在 boutell.com 上有一篇文章(链接到 Internet Archive 备份)讨论了个人浏览器和服务器实施将支持什么。
(注:这是2006年写的一篇文章的引用,但2015年 IE 的使用量下降意味着更长的 URL 为多数工作。
Internet Explorer 的限制
还有一些研究从2010年到搜索引擎将浏览和索引的最大 URL 长度. 他们发现的限制是 2047 台,看起来与 Sitemap 协议规格相关联. 然而,他们也发现谷歌 SERP 工具不会处理超过 1855 台的 URL。
(信用到 timrs2998 提供此信息在评论中)
浏览器 Roundup
Browser Address bar document.location
or anchor tag
------------------------------------------
Chrome 32779 >64k
Android 8192 >64k
Firefox >64k >64k
Safari >64k >64k
IE11 2047 5120
Edge 16 2047 10240
此外,请参见下面的答案来自Matas Vaitkevicius。
根据 HTTP 规格,没有限制一个 URL 的长度. 保持您的 URL 低于 2048 个字符; 这将确保 URL 工作在所有客户端和服务器配置. 此外,搜索引擎如 URL 保持低于大约 2000 个字符。
在 UI Jakob Nielsen 推荐的 URL 中:
网页的社交界面依赖于电子邮件,当用户想要互相推荐网页时,电子邮件是用户进入新网站的第二最常见方式(搜索引擎是最常见的):确保您的网站上的所有 URL 长达 78 个字符,以便它们不会穿过一条线路。
这不是最大的,但如果你想分享你的URL,我会认为这是一个实用的最大。
为什么Internet Explorer仅限于2K,而IIS则限于16K?我不认为有意义。
所以我想开始一个关于Ajax要求URL大小限制的实验。
我设置了我的Tomcat HTTP连接器的maxHttpHeaderSize="1048576". 并准备了一个非常长的URL。
然后我发送一个请求与长的URL如下:
var url="/ajax/url-length.jsp";
jQuery.ajax(url,{data:{q:"0".repeat(1048000-url.length-4)}});
jQuery 报告完成. Tomcat 报告所要求的 URL 是 1048015 位元. 它是用 Chrome 50 和 Internet Explorer 11 测试的。
因此,网页浏览器不会故意在发送 Ajax 请求时破坏或限制您的 URL。