zoukankan      html  css  js  c++  java
  • URL地址最大长度问题

    URL地址最大长度问题

    搜索过程中发现,各浏览器与各Web Server对URL均有长度的限制如下:

    在http协议中,其实并没有对url长度作出限制,往往url的最大长度和用户浏览器和Web服务器有关,不一样的浏览器,能接受的最大长度往往是不一样的,当然,不一样的Web服务器能够处理的最大长度的URL的能力也是不一样的。
    下面就是对各种浏览器和服务器的最大处理能力做一些说明.

    • Microsoft Internet Explorer (Browser)
      IE浏览器对URL的最大限制为2083个字符,如果超过这个数字,提交按钮没有任何反应。

    • 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个字符时

    • Apache (Server)
      能接受最大url长度为8,192个字符,但我的测试数据是8,182

    • Microsoft Internet Information Server(IIS)
      能接受最大url的长度为16,384个字符。

    通过上面的数据可知,为了让所有的用户都能正常浏览,我们的URL最好不要超过IE的最大长度限制(2083个字符),当然,如果URL不直接提供给用户,而是提供给程序调用,侧这时的长度就只受Web服务器影响了。

    注:可能有些朋友会想当然的认为,如果最大长度限制为2083字符,是不是参数差不多可以传递1000个左右的汉字。这样认为其实是不对的,对于中文的传递,最终会为urlencode后的编码形式进行传递,如果浏览器的编码为UTF8的话,一个汉字最终编码后的字符长度为9个字符。

  • 相关阅读:
    浅谈JavaScript中forEach与each
    Angular.js中使用$watch监听模型变化
    整理:Javascript获取数组中的最大值和最小值的方法汇总
    自定义指令的参数
    ng-disabled 不起作用的解决办法
    理解Angular中的$apply()以及$digest()
    $q -- AngularJS中的服务(理解)
    正则表达式30分钟入门教程(转)
    angular.extend用法实例
    使用angular.bootstrap() 完成模块的手动加载
  • 原文地址:https://www.cnblogs.com/cuianbing/p/14475349.html
Copyright © 2011-2022 走看看