GET和POST可传递的值到底有多大?
2013-02-18 17:25
232 查看
我的常识里面get最大传递的值为256b,post 是2M。这是很久以前不知在哪看到的。
于是又百度一下。看到两篇文章装过来看看:
浅谈 HTTP中Get与Post的区别
GET方式传值的最大长度
都有些道理。引用其中一些观点:
get
首先是"GET方式提交的数据最多只能是1024字节",因为GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系 了。而实际上,URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。 注意这是限制是整个URL长度,而不仅仅是你的参数值数据长度。
【get方式提交数据的大小,http协议并没有硬性限制;而是与浏览器及服务器、操作系统有关。第二篇文章里,就有谈到用apache测试,使用get方式,url最长可达8167b。其中跟帖留言中还有谈到代理的因素在里面,可能url太长还没到服务,就已经被代理拒绝掉了。第一篇的留言讨论很能学到东西哦~ 】
post
理论上讲,POST是没有大小限制的,HTTP协议规范也没有进行大小限制,说“POST数据量存在 80K/100K的大小限制”是不准确的,POST数据是没有限制的,起限制作用的是服务器的处理程序的处理能力。
对于ASP程序,Request对象处理每个表单域时存在100K的数据长度限制。但如果使用Request.BinaryRead则没有这个 限制。
由这个延伸出去,对于IIS 6.0,微软出于安全考虑,加大了限制。我们还需要注意:
1).IIS 6.0默认ASP POST数据量最大为200KB,每个表单域限制是100KB。
2).IIS 6.0默认上传文件的最大大小是4MB。
3).IIS 6.0默认最大请求头是16KB。
IIS 6.0之前没有这些限制。[见参考资料5]
所以上面的80K,100K可能只是默认值而已(注:关于IIS4和IIS5的参数,我还没有确认),但肯定是可以自己设置的。由于每个版本的 IIS对这些参数的默认值都不一样,具体请参考相关的IIS配置文档。
【post方式,传送数据最大理论上没有限制,取决于服务器设置和内存大小。】
于是又百度一下。看到两篇文章装过来看看:
浅谈 HTTP中Get与Post的区别
GET方式传值的最大长度
都有些道理。引用其中一些观点:
get
首先是"GET方式提交的数据最多只能是1024字节",因为GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系 了。而实际上,URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。 注意这是限制是整个URL长度,而不仅仅是你的参数值数据长度。
【get方式提交数据的大小,http协议并没有硬性限制;而是与浏览器及服务器、操作系统有关。第二篇文章里,就有谈到用apache测试,使用get方式,url最长可达8167b。其中跟帖留言中还有谈到代理的因素在里面,可能url太长还没到服务,就已经被代理拒绝掉了。第一篇的留言讨论很能学到东西哦~ 】
post
理论上讲,POST是没有大小限制的,HTTP协议规范也没有进行大小限制,说“POST数据量存在 80K/100K的大小限制”是不准确的,POST数据是没有限制的,起限制作用的是服务器的处理程序的处理能力。
对于ASP程序,Request对象处理每个表单域时存在100K的数据长度限制。但如果使用Request.BinaryRead则没有这个 限制。
由这个延伸出去,对于IIS 6.0,微软出于安全考虑,加大了限制。我们还需要注意:
1).IIS 6.0默认ASP POST数据量最大为200KB,每个表单域限制是100KB。
2).IIS 6.0默认上传文件的最大大小是4MB。
3).IIS 6.0默认最大请求头是16KB。
IIS 6.0之前没有这些限制。[见参考资料5]
所以上面的80K,100K可能只是默认值而已(注:关于IIS4和IIS5的参数,我还没有确认),但肯定是可以自己设置的。由于每个版本的 IIS对这些参数的默认值都不一样,具体请参考相关的IIS配置文档。
【post方式,传送数据最大理论上没有限制,取决于服务器设置和内存大小。】
相关文章推荐
- GET和POST可传递的值到底有多大?
- GET和POST可传递的值到底有多大?
- GET和POST可传递的值到底有多大
- GET和POST可传递的值到底有多大?
- GET与POST可传递的最大值到底是多少?
- GET与POST可传递的最大值到底是多少?
- [转]GET与POST可传递的最大值到底是多少?
- GET与POST可传递的最大值到底是多少
- GET和POST的数据传递到底有何区别?
- GET与POST传递数据的最大长度限制
- WebApi 的 HttpGet 和 HttpPost 传递多个参数对象的Json和Dynamic方法
- httpurlconnection post 和GET 分别传递2个参数给后台,返回JSON 解决乱码问题
- angularjs $http.get 和 $http.post 传递参数
- MVC和WebApi 使用get和post 传递参数。
- JSP页面中文参数的传递(get和post方法分析)
- 浏览器发起Get,Post请求时候传递的参数编码问题
- 参数传递中的编码问题(get和post方式)
- Jquery ajax提交,用GET方式传递参数出现乱码,改成POST就正常了
- springMVC正确使用GET POST PUT和DELETE方法,如何传递参数
- HTTP 协议中GET和POST到底有哪些区别