2015.7.9(POST、GET请求限制)

来源:互联网 发布:软件app发展前景 编辑:程序博客网 时间:2024/06/05 16:45

昨天在设计事件、函数与指标中心同步的方案时,石宝提到了Http请求报文限制的问题,今天查了下资料,在此总结一下,作为一个学习的资料分享。
1) Get请求
Http Get方法提交的数据大小长度并没有限制,get 是通过URL提交数据,HTTP协议规范没有对URL长度进行限制,但是浏览器和服务器容器对URL长度进行了限制。下面对各种浏览器和服务器的最大处理能力做一些说明:
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长度为8192个字符。

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

通过上面的数据可知,为了让所有的用户都能正常浏览, URL最好不要超过IE的最大长度限制(2083个字符),当然,如果URL不直接提供给用户,而是提供给程序调用,这时的长度就只受Web服务器影响了。
2) Post请求
理论上讲,POST是没有大小限制的,HTTP协议规范也没有进行大小限制,起限制作用的是服务器的处理程序的处理能力。
在Tomcat下设置POST大小(Tomcat默认2M)
打开tomcat目录下的conf目录,打开server.xml 文件,修改

maxPostSize=”0” (设为0是取消POST的大小限制)

jetty设置POST大小(默认值200KB)
在jvm的启动参数中加上org.mortbay.jetty.Request.maxFormContentSize参数值,-1代表没有限制:
-Dorg.eclipse.jetty.server.Request.maxFormContentSize=-1

0 0
原创粉丝点击