每个浏览器的URL的最大长度是什么?

最大 URL 长度是 HTTP 规格的一部分吗?


当前回答

似乎Chrome至少已经提高了这个限制,我把2万个字符插入了书架上,它拿走了。

其他回答

我有 SharePoint 2007, 2010 的经验,在 SharePoint 中,您可以从服务器侧创建的 URL 长度的限制,所以它主要取决于 1) 客户端(浏览器、版本和操作系统) 和 2) 服务器技术、 IIS、Apache 等。

为什么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。

URI RFC(其中URL是子组)不确定最大长度,但是,它建议主机名称部分的URI(如适用)不超过255个字符的长度:

URI 制造商应该使用符合 DNS 合成的名称,即使使用 DNS 并非立即显而易见,并且应该限制这些名称的长度不超过 255 个字符。

然而,正如其他文章所指出的那样,一些浏览器对URL的长度有实用的限制。

Microsoft 支持表示“Internet Explorer 的最大 URL 长度为 2,083 个字符”。

IE 有更长的URL问题,Firefox 似乎在 >4k 屏幕上工作得很好。

限制请求线指令设置一个URL的最大长度. 默认情况下,它设置为8190,这给了你很多空间. 但是,其他服务器和一些浏览器,限制长度更多。

由于所有参数都在URL线上通过,隐藏的字段密码中的项目也将在URL上显示,当然,手机也不应该用于真正的安全措施,最好考虑到化妆品安全。