Get和Post请求的区别


1.    Get方法长度限制

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

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

下面就是对各类浏览器和服务器的最大处理能力作一些说明.tomcat

Microsoft Internet Explorer (Browser)服务器

IE浏览器对URL的最大限制为2083个字符,若是超过这个数字,提交按钮没有任何反应。
Firefox (Browser)
字体

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

Safari (Browser)url

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

Opera (Browser)debug

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

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 文件,修改

<Connector

debug="0"

acceptCount="100"

connectionTimeout="20000"

disableUploadTimeout="true"

port="8080"

redirectPort="8443"

enableLookups="false"

minSpareThreads="25"

maxSpareThreads="75"

maxThreads="150"

maxPostSize="0"

URIEncoding="GBK"

</Connector>

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

相关文章
相关标签/搜索