什么是URL的字符限制

什么是URL的字符限制,特别是如果URL是由表单的GET方法构成的。

据微软说,它是2048年。因为他们发明了互联网(以及光,黑暗和Linux),他们是正确的。 🙂 ….或者..由于IE强制这个较低的值,这是最低的共同点。

http://support.microsoft.com/kb/208427

在Firefox下,我看到networking上报告的url为0xFFFF: http : //forums.mozillazine.org/viewtopic.php? f=38&t=155648&start=0&st=0&sk=t& sd=a

这里是另外一篇关于这个的post: http : //hiox.org/index.php?id=425


编辑:这是非常难过的,差不多5年后,我写了这个答案 – 这仍然是事实。 如果可以的话,看看这个答案的历史。

EDIT2:我在StackOverflow上find了更好的答案 – 不同浏览器中的URL的最大长度是多less?

没有发布的最大值,但有效的限制是2000个字符左右,因为这是Internet Explorer(版本4及以上)支持的。 见http://www.boutell.com/newfaq/misc/urllength.html

说明

根据RFC 2616(超文本传输​​协议 – HTTP / 1.1 – 第3.2.1节), 没有为HTTP Get Request的最大URL大小制定的规则

限制是由各种浏览器和各自的服务器强加的
在传递任何HTTP请求中的URL中传递的查询string时,必须集体考虑这些限制。

如果URL的大小超出了相应浏览器规定的URL大小限制, 请求将不会被传递给服务器 ,因此需要付出不必要的努力来debugging和处理这种情况。


最大URL大小…

浏览器

  1. IE浏览器

    2048 B

    Microsoft Internet Explorer的最大统一资源定位符(URL)长度为2,083个字符 。 Internet Explorer的最大path长度为2,048个字符。 此限制适用于POST请求和GET请求URL。如果使用GET方法,则最多限制为2,048个字符,减去实际path中的字符数。

  2. 火狐浏览器

    100 KB

    地址栏不显示超过65,536个字符的任何字符。 但是,url的大小可以超过这个数字 ,但是你不能在地址栏中查看它。 直到目前的FireFox版本,FireFox 1.5都是这样

  3. 歌剧

    200 KB

    即使在如此大的范围内,地址栏中的URL也是完全可见的

  4. Chrome浏览器,Safari浏览器

    100 KB

    这两个浏览器都是基于webkit的,似乎和firefox几乎有相同的限制


服务器

  1. 阿帕奇

    128 KB

    使用服务器的LimitRequestLine设置更改大小

  2. IIS

    16 KB

    默认值是16 KB,最大限制是16 MB

  3. Lotus Notes

    4 KB


更多信息

很长的url是不推荐的。
对于基于Web的应用程序来说,要跨浏览器兼容, Get方法不能用于传递包含超过2000个字符的很长的string。

如果您正面临着需要使用URL来包含大量字符的情况,那么再考虑一下。

较新的IE:2048个字符某些平台仅支持255个字符。

不同的浏览器有不同的限制。 但是通常URL的GET方法的限制大约是2000个字符。 您可以使用执行POST方法的代理页面(如果您的API支持),并且具有5,000个字符的更大限制。 我们目前正在调查使用Google Map API的代理页面,因为我们已经崩溃到2000个字符的限制。