什么是邮寄请求的大小限制?
对不起,如果这是重复的,我会认为这将是但无法find任何东西。
我有一个灵活的应用程序,我通过IE张贴数据回到一个PHP / MySQL服务器。 我还没有遇到任何问题,但提前知道这可能会节省我一些挫折和工作。 有通过http发布数据的大小限制吗?
本文不说: http : //www.netlobo.com/ie_form_submit.html
这个讨论是肯定的: http : //bytes.com/topic/php/answers/538226-what-maximum-limit-using-post-method
这一切都来回我可以在网上find。 所以请将答案限制在个人testing/validation号码。
我想回发一个可以相当大的XMLstring(比如说5mb)。
如果它有什么区别:浏览器将永远是IE浏览器(我们的产品需要它),post来自和httpService在Flex中,Web服务器是PHP,DB是mySql。
这取决于服务器configuration。 如果您在Linux或类似环境下使用PHP,则可以使用.htaccessconfiguration文件来控制它,如下所示:
#set max post size php_value post_max_size 20M
而且,是的,我可以亲自certificate这个事实:)
如果您使用IIS,我不知道如何设置这个特定的值。
请求(GET和POST)的URL部分可能受浏览器和服务器的限制 – 通常安全大小为2KB,因为几乎没有浏览器或服务器使用较小的限制。
请求(POST)的主体通常由服务器按字节大小进行限制,以防止某种types的DoS攻击(注意这意味着字符转义会增加主体的字节大小)。 最常见的服务器设置是10MB,尽pipe所有stream行的服务器都可以通过设置文件或面板来增加或减less这些设置。
*旧手机或其他小型设备浏览器存在一些例外情况 – 在这种情况下,它更多的是为此目的在设备上保留的堆空间的function。
另外,在PHP.INI文件中有一个设置:
max_input_vars
这在我的PHP版本中:5.4.16默认为1000。
从手册:“可以接受多less个inputvariables(限制分别应用于$ _GET,$ _POST和$ _COOKIE超全局)”
参考: http : //www.php.net/manual/en/info.configuration.php#ini.max-input-vars
您可以通过设置php.inivariables发布大量数据: max_input_vars
此variables的默认大小为1000,但是如果您想发送大量数据,则必须相应地增加大小。 如果你不能从ini_set设置大小,你必须通过htaccess
或直接更改为php.ini文件。
max_input_vars 2500 memory_limit 256M
正如David所指出的那样,在大多数情况下,我会使用KB。
php_value post_max_size 2KB
注意:我的表格很简单,只是几个文本框,文字不长。
由http服务器决定是否有限制。 我工作的产品允许pipe理员configuration限制。
默认情况下,发布请求的最大尺寸为8mb。 但是你可以根据你的要求修改它。 修改可以通过打开php.ini文件(phpconfiguration设置)来完成。
找
post_max_size=8M //for me, that was on line:771
请根据您的要求更换8个。
这是最好的解决scheme之一,您不要使用多个或多个1,000个input字段。 您可以连接多个input与任何特殊字符,例如。 @
。
看到这个:
<input type='text' name='hs1' id='hs1'> <input type='text' name='hs2' id='hs2'> <input type='text' name='hs3' id='hs3'> <input type='text' name='hs4' id='hs4'> <input type='text' name='hs5' id='hs5'> <input type='hidden' name='hd' id='hd'>
使用任何脚本(JavaScript或JScript),
document.getElementById("hd").value = document.getElementById("hs1").value+"@"+document.getElementById("hs2").value+"@"+document.getElementById("hs3").value+"@"+document.getElementById("hs4").value+"@"+document.getElementById("hs5").value
有了这个,你将绕过max_input_vars
问题。 如果你增加了php.ini文件中的max_input_vars
,这对服务器是有害的,因为它使用了更多的服务器caching,这有时会使服务器崩溃。