[讨论] 关于Form的Post方法提交数据是否有大小限制的测试
最近发现一个文章系统在从Word中复制出来的代码直接贴到文章的在线编辑器时提交到服务器总提示
内容为空,但随便输入几个字符时却能正常保存,觉得很奇怪,查了N久的程序(不是我写的),就是找
不出原因来,后来把编辑器转到HTML模式查看时发现从Word贴出来的代码中有很多的垃圾代码,把代码复
制到记事本中保存,竞然有275KB大,不就一个表格吗,Word居然搞出这么多垃圾。会不会是数据太大不
能提交呢,于是我在Word中把表格减小,再复制到编辑器中提交,竞可以保存了,为了确保不是因为特殊
字符的原因,我把刚才相同的代码再在编辑器中复制了三次,再次提交时果然提示内容为空了,现在初步
认定是数据过大的原因,但在我的印像中Post方式提交表单应该不受大小限制的啊,带着疑惑来到论坛请
教,各人都说法不一,一位仁兄还说是我的代码有问题,但我查了这么久都没发现啊,为了验证我的想法
,于是做了这个测试,不过只是在我的系统下测试过,是否是我系统的原因还请各位帮忙试试看是否有同
样的现像。
测试系统:Windows Server 2003 + IIS6.0 + IE 6.0
为了降低代码错误的可能性,我尽量把代码写得非常的简单,代码如下:
<table>
<tr>
<td>
<form method=post>
<textarea name="value" cols="60" rows="6"></textarea>
<input type=submit value=post>
</form>
</td>
</tr>
<tr>
<td>
<%
dim aaa
aaa=request.form("value")
response.write aaa
%>
</td>
</tr>
</table>
估计上边的代码应该不会有什么问题吧!
另外为了确保不是因为特殊字符的原因造成,我只用字符"a"进行测试,当我的数据小于204,795个字节(
也就是204795个字符"a")时,提交成功,但当数据大于等于204,795个字节后提交出错了,这或许应该能
证明不是程序造成的了吧,或许也可能是我的系统有问题,各位如果有空的话帮我试试看吧,结果告诉我
一声,感激不尽。
Remarks
When using the post method, there is no theoretical limit to the amount of data that can be
sent to the HTTP server. The amount of data may be constrained by the physical limits of the
client computer.
When using the get method to send data to an HTTP server, the amount of data that can be
sent is limited by the maximum length of a URL. In this case the URL cannot be longer than
2048 bytes.
以上这段是MSDN上的说法,大意也就是POST方法没有理论的数据大小限制,数据大小可能受限于客户机。
如果真是这样的话是否可以更改POST数据的大小呢,还请各位指教。