搜索过程当中发现,各浏览器与各Web Server对URL均有长度的限制以下:html
在http协议中,其实并无对url长度做出限制,每每url的最大长度和用户浏览器和Web服务器有关,不同的浏览器,能接受的最大长度每每是不同的,固然,不同的Web服务器可以处理的最大长度的URL的能力也是不同的。chrome
下面就是对各类浏览器和服务器的最大处理能力作一些说明.apache
Microsoft Internet Explorer (Browser)ubuntu
IE浏览器对URL的最大限制为2083个字符,若是超过这个数字,提交按钮没有任何反应。在个人测试中,这个数字获得验证。浏览器
微软官方也有说明:服务器
Microsoft Internet Explorer has a maximum uniform resource locator (URL) length of 2,083 characters. Internet Explorer also has a maximum path length of 2,048 characters. This limit applies to both POST request and GET request URLs.app
If you are using the GET method, you are limited to a maximum of 2,048 characters, minus the number of characters in the actual path.测试
However, the POST method is not limited by the size of the URL for submitting name/value pairs. These pairs are transferred in the header and not in the URL.this
Firefox (Browser)编码
对于Firefox浏览器URL的长度限制为65,536个字符,但当我测试时,最大只能处理8182个字符,这是由于url的长度除了浏览器 限制外,还会受Web服务器的限制,而我本机使用的是ubuntu apache服务器,最大处理能力为8192个字符(相差10个字符,不知道是什么缘由),一旦超过这个长度,服务器就返回以下错误信息。
Safari (Browser)
URL最大长度限制为 80,000个字符。
Opera (Browser)
URL最大长度限制为190,000个字符。
Google (chrome)
url长度一旦超过8182个字符时,出现以下服务器错误:
写道
Request-URI Too Large
The requested URL's length exceeds the capacity limit for this server.
Apache/2.2.12 (Ubuntu) Server at 127.0.1.1 Port 80
Apache (Server)
能接受最大url长度为8,192个字符,但个人测试数据是8,182,10个字符,差异不在,数据具体符合。
Microsoft Internet Information Server(IIS)
能接受最大url的长度为16,384个字符。
经过上面的数据可知,为了让全部的用户都能正常浏览,咱们的URL最好不要超过IE的最大长度限制(2038个字符),固然,若是URL不直接提供给用户,而是提供给程序调用,侧这时的长度就只受Web服务器影响了。
注:可能有些朋友会想固然的认为,若是最大长度限制为2038字符,是否是参数差很少能够传递1000个左右的汉字。这样认为实际上是不对的,对 于中文的传递,最终会为urlencode后的编码形式进行传递,若是浏览器的编码为UTF8的话,一个汉字最终编码后的字符长度为9个字符。