听说HTTP POST可以发送的数据大小没有规格限制。那是真的还是只有一些很高的限制?
Answers:
编辑(2019)这个答案现在已经很多余了,但是还有另一个答案具有更相关的信息。
而是取决于Web服务器和Web浏览器:
Internet Explorer 所有版本2GB-1
Mozilla Firefox 所有版本2GB-1
IIS 1-5 2GB-1
IIS 6 4GB-1
尽管IIS默认情况下仅支持200KB,但是配置数据库需要修改以增加此大小。
http://www.motobit.com/help/scptutl/pa98.htm
POST方法本身对数据大小没有任何限制。
根据HTTP协议本身没有限制,但是实现会有实际的上限。我已经使用POST向Apache发送了超过4 GB的数据,但是某些服务器当时的限制为4 GB。
LimitRequestBody
指令施加上限。
POST允许将任意长度的数据发送到服务器,但是基于超时/带宽等存在限制。
我认为,基本上,它是更安全的假设,这是不没关系发送大量数据。
根据本文(现已删除)的文章,不同的IIS Web服务器可以在“标头”中处理不同数量的数据;http://classicasp.aspfaq.com/forms/what-is-the-limit-on-form/post-parameters.html ;
请注意,您可以通过POST传递的FORM元素数量没有限制,但仅限制所有名称/值对的总大小。尽管GET限制为低至1024个字符,但IIS 4.0上的POST数据限制为2 MB,而IIS 5.0上的POST数据限制为128 KB。根据SGML规范的规定,每个名称/值均限制为1024个字符。当然,这不适用于使用enctype ='multipart / form-data'上传的文件...除了使用增加server.scriptTimeout值之外,使用IIS 5.0上传90-100 MB范围的文件没有问题。以及我的耐心!