美文网首页
HTTP网络请求GET 请求参数的最大体积限制是多少

HTTP网络请求GET 请求参数的最大体积限制是多少

作者: iOS开发小学生 | 来源:发表于2018-06-24 23:03 被阅读36次

    iOS-- sizeof()

    ***URL长度的限制是2083字节(2K+35)***

    1.计算机最基本的单位是字节。

    (1)一个汉字由两个字节组成(测试时3个???)

    (2)字母和数字由一个字节组成。

    2.容量的单位从小到大依次是:字节(B)、KBMBGBTB。它们之间的关系是。1TB=1024GB  

    1GB=1024MB    

    1MB=1024KB  

    1KB=1024字节(B)  

    1 Byte = 8 Bits;(1B(字节) = 是八个比特,即:1byte= 8bit

    通常人们都使用简便的叫法,把后面的“B”去掉,所以你问的1MB就是1024KB。以上是根据教科书给出的答案,不过理论和实际是有点出入的,硬件方面,特别是硬盘,换算的方式略有差别,既将上面公式里的1024都换成1000,24可以忽略不计。所以现实中我们买的硬盘使用时都会发现,实际可使用的容量和标称的是有差别的,实际可使用的容量比标称的小

    比特是最小单位 字节是比特的集合 也是一个单位

    应该这么说 比特是计算机中最小的数据单位。一比特是单个的二进制数值,0或1。虽然计算机可以提供指令测试和操作比特,但通常以多个比特的集合——字节来存储数据和执行指令。在大多数计算机系统中,一字节由八比特构成。一比特数值在存储器中用单个电容器充放电高于或低于某个电平来表示。

    ********************重要的知识点来了**********************

    1.Http Get方法提交的数据大小长度并没有限制,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。

    如:IE对URL长度的限制是2083字节(2K+35)。

     浏览器和服务器对url长度都有限制,各浏览器HTTP Get请求URL最大长度并不相同,几类常用浏览器最大长度及超过最大长度后提交情况如下:

      IE6.0  :url最大长度2083个字符,超过最大长度后无法提交。

     IE7.0  :  url最大长度2083个字符,超过最大长度后仍然能提交,但是只能传过去2083个字符。

     IE8.0  :  url最大长度4076个字符,超过该长度会自动忽略后面的内容.

     firefox 3.0.3:  url最大长度7764个字符,超过最大长度后无法提交。

     Opera 9.52 :  url最大长度7648个字符,超过最大长度后无法提交。

     Google Chrome 2.0.168:  url最大长度7713个字符,超过最大长度后无法提交。

    Microsoft Internet Explorer (Browser)

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

    Firefox (Browser)

    对于Firefox浏览器URL的长度限制为65,536个字符。

    Safari (Browser)

    URL最大长度限制为 80,000个字符。

    Opera (Browser)

    URL最大长度限制为190,000个字符。

    Google (chrome)

    URL最大长度限制为8182个字符。

    Apache (Server)

    能接受最大url长度为8,192个字符。

    Microsoft Internet Information Server(IIS)

    能接受最大url的长度为16,384个字符。

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

    注:对于中文的传递,最终会为urlencode后的编码形式进行传递,如果浏览器的编码为UTF8的话,一个汉字最终编码后的字符长度为9个字符。

    因此如果使用的 GET 方法,最大长度等于URL最大长度减去实际路径中的字符数。

    2. POST方法长度限制

    理论上讲,POST是没有大小限制的。HTTP协议规范也没有进行大小限制,起限制作用的是服务器的处理程序的处理能力。

    如:在Tomcat下取消POST大小的限制(Tomcat默认2M);

    打开tomcat目录下的conf目录,打开server.xml 文件,修改

    debug="0"

    acceptCount="100"

    connectionTimeout="20000"

    disableUploadTimeout="true"

    port="8080"

    redirectPort="8443"

    enableLookups="false"

    minSpareThreads="25"

    maxSpareThreads="75"

    maxThreads="150"

    maxPostSize="0"

    URIEncoding="GBK"

    增加红色字体部分 maxPostSize="0" (设为0是取消POST的大小限制)

    ********************重要的知识点来了**********************

    *******************在唠叨一点,顶住兄弟**********************

    曾经听某人介绍,如果使用GET方式传输参数,URL的最大长度是256个字节,对此深信不疑.

    但是最近看到一些超长的url,能够在IE下工作,复制下来测算了一下长度,大概是650个字节,这个长度远远超过了256个字节.这时候对以前的说法不由得有些怀疑—-用各大搜索引擎翻了个遍,最后找到最权威的解释—-Maximum URL length is 2,083 characters in Internet Explorer.

    没错,IE的url最大长度是2083个字节,可以用于GET传递数据的长度是2048个字节,这个数字不小,远超过256这个曾经认为无比正确的数字.

    另外POST方式传递的数据不受这个长度影响,它的值通过浏览器header传输而不是url.

    经过实际测试

    在IE8 下的URL地址总长度为:4076,超过该长度会自动忽略后面的内容;

    firefox 25下的URL地址总长度可以达到:7530,超过该长度会访问错误

    在chrome 29.0.1547.62 的最大总长度达到:7675,超过该长度会访问错误

    由此可见,在以前的浏览器下,或许URL的最大长度为256是可能的(现在找不到IE6或以前的版本来测试),

    ********************在唠叨一点,顶住兄弟*********************

    相关文章

      网友评论

          本文标题:HTTP网络请求GET 请求参数的最大体积限制是多少

          本文链接:https://www.haomeiwen.com/subject/ioasyftx.html