什么是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大小…
浏览器
-
IE浏览器
2048 B
Microsoft Internet Explorer的最大统一资源定位符(URL)长度为2,083个字符 。 Internet Explorer的最大path长度为2,048个字符。 此限制适用于POST请求和GET请求URL。如果使用GET方法,则最多限制为2,048个字符,减去实际path中的字符数。
-
火狐浏览器
100 KB
地址栏不显示超过65,536个字符的任何字符。 但是,url的大小可以超过这个数字 ,但是你不能在地址栏中查看它。 直到目前的FireFox版本,FireFox 1.5都是这样
-
歌剧
200 KB
即使在如此大的范围内,地址栏中的URL也是完全可见的
-
Chrome浏览器,Safari浏览器
100 KB
这两个浏览器都是基于webkit的,似乎和firefox几乎有相同的限制
服务器
-
阿帕奇
128 KB
使用服务器的LimitRequestLine设置更改大小
-
IIS
16 KB
默认值是16 KB,最大限制是16 MB
-
Lotus Notes
4 KB
更多信息
很长的url是不推荐的。
对于基于Web的应用程序来说,要跨浏览器兼容, Get
方法不能用于传递包含超过2000个字符的很长的string。
如果您正面临着需要使用URL来包含大量字符的情况,那么再考虑一下。
较新的IE:2048个字符某些平台仅支持255个字符。
不同的浏览器有不同的限制。 但是通常URL的GET方法的限制大约是2000个字符。 您可以使用执行POST方法的代理页面(如果您的API支持),并且具有5,000个字符的更大限制。 我们目前正在调查使用Google Map API的代理页面,因为我们已经崩溃到2000个字符的限制。