关于URL,POST传递值的大小限制问…
来源:互联网 发布:学校宿舍手机网络屏蔽 编辑:程序博客网 时间:2024/06/01 09:54
1、第一个问题:URL参数上限的提法准确吗?上限是多少?:
1)URL不存在参数上限的说法。该问题实际是IE对URL有长度限制的问题。
2)HTTP协议规范也没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。[参1]
3)“可变长度的参数通过URL方式传递”实际是说提交表单时使用了GET方法,而不是POST方法。造成这种潜在错误的是使用GET方法提交表单数据。因为GET方法将数据放在URL里传递给服务器处理。
4)注意这个限制是整个URL长度,而不仅仅是你的参数值数据长度。
5)既然是IE对URL长度的限制,那么不管是GET方法还是POST方法都存在这个限制。
(关于FORM的GET和POST方法具体内容请参考相关资料[参2])
建议:
1)了解应用程序所在的环境,如Web应用的浏览器、服务器环境,了解其特定的参数限制情况。
2)提交复杂数据尽量使用POST方法。注意FORM不写method属性时默认是使用GET方法。
结论(写入Checklist):
对使用GET方法提交数据时,在IE环境下,需要考虑URL长度2083字节的限制。
2、第二个问题:为什么POST时数据有限制?限制是128K吗?:
1)理论上讲,POST是没有大小限制的。HTTP协议规范也没有进行大小限制。
2)“POST数据量存在128K的大小限制”不够准确,POST数据是没有限制的,起限制作用的是服务器的处理程序的处理能力。
3)对于ASP程序,Request对象处理每个表单域时存在100K的数据长度限制。但如果使用Request.BinaryRead则没有这个限制。对于需要处理超过100K表单域数据的解决办法,请参考后面的[参3]。
4)由这个延伸出去,对于IIS 6.0,微软出于安全考虑,加大了限制[参4]。我们还需要注意:
3、第三个问题:现在用ajax进行post提交,需要传递的这个字符串很长,大概有116万个字符长度,每次都传递不过去,服务端那边接受的值是null,当我截取前90W个字符进行传递的时候,就能传递过去了
不是说post传递没有大小限制的吗?
问题找到了,POST传递没问题,是servlet那边的问题
因为那边,我是采用request.getParameter来获取的参数,因为map集合装不了116W那么大的字符串,是map集合崩溃了
所以在servlet那边,改用request.getInputStream()流来读取就没事了
- 关于URL,POST传递值的大小限制问…
- tomcat nginx默许的post大小限制
- Tomcat下取消POST大小的限制
- tomcat nginx默许的post大小限制
- win2003服务器post传值大小限制
- 有关php post传值大小限制
- post大小限制问题
- 关于"net::ERR_CONNECTION_ABORTED"和"Firebug 达到了 Post 请求大小限制"的问题
- jetty8 POST FORM 大小限制
- POST请求大小不限制?
- 表单提交数据大小的限制:Firebug 达到了 Post 请求大小限制
- 修改PHP上传文件的大小限制(post)
- 关于 select() 时的 FD_SETSIZE 大小限制
- 关于j2me中RMS的大小限制
- 关于j2me中RMS的大小限制
- 关于j2me中RMS的大小限制
- GET与POST传递数据的最大长度限制
- GET与POST传递数据的最大长度限制
- Oracle的substr函数简单用法
- Linux被占用的日志文件清理后磁盘空间释放,但ll查看仍然显示曾经达到的最大大小,此时copy该文件也是按曾经最大的值占用空间
- 使用正则表达式匹配任意字符包括空…
- JSON和JSONP,也许你会豁然开朗,…
- python+scapy 抓包与解析
- 关于URL,POST传递值的大小限制问…
- c#语言-用 while 循环语句实现下列功能:有一篮鸡蛋,不止一个,有人两个两 个数,多余一个,三个三个数,多余一个,再四个四个数,也多余一个,请问这篮鸡蛋至少有多少个。
- Tomcat开机后台启动,注册到window…
- 利用cmd的操作命令导出oracle数据…
- 安装oracle(从虚拟机创建到项目运行七)
- undo_retention计算(修改恢复记录…
- 代码 生成迅雷链接启动迅雷下载
- maven项目和gradle项目转换
- JSON 字符串 与 java 对象的转换