HTTP协议规范的get和post对传递的参数的最大长度没有限制
2012-08-03 17:47
429 查看
GET
因为GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系 了。而实际上,URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。
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之前没有这些限制。
因为GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系 了。而实际上,URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。
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之前没有这些限制。
相关文章推荐
- http 协议 post 方法没有长度限制
- 关于 HTTP GET/POST 请求参数长度最大值的问题
- 关于 HTTP GET/POST 请求参数长度最大值的一个理解误区
- 关于 HTTP GET/POST 请求参数长度最大值的一个理解误区
- 关于 HTTP GET/POST 请求参数长度最大值的一个理解误区
- 关于 HTTP GET/POST 请求参数长度最大值的一个理解误区
- 关于 HTTP GET/POST 请求参数长度最大值的一个理解误区
- 关于 HTTP GET/POST 请求参数长度最大值的一个理解误区(转载)
- 关于 HTTP GET/POST 请求参数长度最大值的问题
- GET与POST传递数据的最大长度限制
- HTTP 请求方式: GET和POST的比较当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。
- Http协议参数传递中编码问题(Get/Post 方式)
- 关于 HTTP GET/POST 请求参数长度最大值的一个理解误区
- GET与POST传递数据的最大长度限制
- 关于 HTTP GET/POST 请求参数长度最大值的一个理解误区
- 关于 HTTP GET/POST 请求参数长度最大值的一个理解误区
- Android http get/post传递参数
- httpurlconnection post 和GET 分别传递2个参数给后台,返回JSON 解决乱码问题
- http get 方式参数的长度限制<转>
- GET与POST传递数据的最大长度能够达到多少