php post最大数据量 - 什么是发布请求的大小限制?




internet-explorer http (8)

请求(GET和POST)的URL部分可能受浏览器和服务器的限制 - 通常安全大小为2KB,因为几乎没有浏览器或服务器使用较小的限制。

请求(POST)主体通常由服务器以字节为单位进行限制,以防止某种类型的DoS攻击(请注意,这意味着字符转义会增加主体的字节大小)。 最常见的服务器设置为10MB,尽管所有流行的服务器都允许通过设置文件或面板来增加或减少此设置。

*旧手机或其他小型设备浏览器存在一些例外情况 - 在这些情况下,它更多地是为设备上的此目的而预留的堆空间功能,然后是其他任何功能。

对不起,如果这是重复的,我会认为这将是但无法找到任何东西。

我有一个灵活的应用程序,我通过IE发布数据到php / mysql服务器。 我还没有遇到任何问题,但提前知道这可能会为我节省一些挫折和工作。 是否有通过http发布数据的大小限制?

本文说不: http://www.netlobo.com/ie_form_submit.htmlhttp://www.netlobo.com/ie_form_submit.html

这个讨论说是: http://bytes.com/topic/php/answers/538226-what-maximum-limit-using-post-method : http://bytes.com/topic/php/answers/538226-what-maximum-limit-using-post-method

这一切都来回我能够在网上找到。 因此, 请将答案限制在个人测试/验证号码。

我想回发一个可能非常大的XML字符串(比如高达5mb)。

如果它有什么区别:浏览器将永远是IE浏览器(我们的产品需要它),帖子来自和httpService in flex,web服务器是php,DB是mySql。



这是最好的解决方案之一,您不要使用多个或多个输入字段。 您可以连接多个输入和任何特殊字符,例如。 @

看到这个:

<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 ,那对服务器是有害的,因为它使用更多的服务器缓存,并且这有时会使服务器崩溃。


由http服务器决定是否有限制。 我工作的产品允许管理员配置限制。


您可以通过设置php.ini变量发布大量数据: max_input_vars此变量的默认大小为1000,但如果要发送大量数据,则必须相应地增加大小。 如果你不能从ini_set设置大小,你必须通过htaccess或者直接修改php.ini文件。

max_input_vars  2500
memory_limit    256M

这取决于服务器配置。 如果您在Linux或类似环境下使用PHP,则可以使用.htaccess配置文件来控制它,如下所示:

#set max post size
php_value post_max_size 20M

而且,是的,我可以亲自证明这个事实:)

如果你使用IIS,我不知道你如何设置这个特定的值。


默认情况下,发布请求的最大尺寸为8mb。 但是你可以根据你的要求修改它。 修改可以通过打开php.ini文件(php配置设置)来完成。

post_max_size=8M  //for me, that was on line:771

根据您的要求更换8个。


使用此答案中提供的createElement函数,这是由于IE的破坏与通常使用document.createElement创建的元素上的name属性所必需的:

function postToURL(url, values) {
    values = values || {};

    var form = createElement("form", {action: url,
                                      method: "POST",
                                      style: "display: none"});
    for (var property in values) {
        if (values.hasOwnProperty(property)) {
            var value = values[property];
            if (value instanceof Array) {
                for (var i = 0, l = value.length; i < l; i++) {
                    form.appendChild(createElement("input", {type: "hidden",
                                                             name: property,
                                                             value: value[i]}));
                }
            }
            else {
                form.appendChild(createElement("input", {type: "hidden",
                                                         name: property,
                                                         value: value}));
            }
        }
    }
    document.body.appendChild(form);
    form.submit();
    document.body.removeChild(form);
}






php internet-explorer http post