web-dev-qa-db-fra.com

Quelle est la taille limite d'une demande de publication?

Désolé si cela est en double, je penserais que ce serait le cas mais je n'ai rien trouvé.

J'ai une application flex que je publie des données sur un serveur php/mysql via IE. Je n'ai pas encore rencontré de problèmes, mais le savoir à l'avance pourrait m'épargner beaucoup de frustration et de travail. Existe-t-il une limite de taille pour la publication de données via http?

Cet article dit non: http://www.netlobo.com/ie_form_submit.html

Cette discussion dit oui: http://bytes.com/topic/php/answers/538226- what-maximum-limit-using-post-method

Et tout ce que je peux trouver en ligne va et vient. Donc veuillez limiter les réponses à des nombres testés/vérifiés personnellement.

Je souhaite publier une chaîne XML pouvant être assez grosse (disons jusqu'à 5 Mo).

Si cela fait une différence: le navigateur sera toujours IE (notre produit le requiert), la publication provient de et httpService dans flex, le serveur Web est php, DB est mySql.

246
invertedSpear

Cela dépend de la configuration du serveur. Si vous travaillez avec PHP sous Linux ou similaire, vous pouvez le contrôler à l'aide du fichier de configuration .htaccess, comme suit:

#set max post size
php_value post_max_size 20M

Et, oui, je peux personnellement attester du fait que cela fonctionne :)

Si vous utilisez IIS, je ne sais pas comment vous définiriez cette valeur particulière.

195
inkedmn

La partie url d'une requête (GET et POST) peut être limitée à la fois par le navigateur et le serveur. En général, la taille du coffre-fort est de 2 Ko, car aucun navigateur ou serveur n'utilise une limite inférieure.

Le corps d'une requête (POST) est normalement * limité par le serveur sur la base de la taille en octets afin d'empêcher un type d'attaque DoS (notez que cela signifie que l'échappement d'un caractère peut augmenter la taille en octets du corps). Le paramètre de serveur le plus courant est 10 Mo, bien que tous les serveurs populaires permettent d'augmenter ou de diminuer cette capacité via un fichier ou un panneau de paramètres.

* Il existe quelques exceptions avec les anciens navigateurs de téléphones portables ou autres navigateurs de petits appareils. Dans ce cas, il s’agit davantage d’une fonction d’espace mémoire réservée à cet effet sur l’appareil.

70
David

De plus, dans le fichier PHP.INI, il existe un paramètre:

max_input_vars

dans ma version de PHP: 5.4.16, la valeur par défaut est 1000.

Extrait du manuel: "Combien de variables d'entrée peuvent être acceptées (la limite est appliquée séparément à $ _GET, $ _POST et $ _COOKIE superglobal)"

Réf .: http://www.php.net/manual/fr/info.configuration.php#ini.max-input-vars

46
Nikolay Ivanov

Vous pouvez publier une grande quantité de données en définissant la variable php.ini: max_input_vars La taille par défaut de cette variable est 1000, mais si vous souhaitez envoyer une grande quantité de données, vous devez augmenter la taille en conséquence. Si vous ne pouvez pas définir la taille de ini_set, vous devez le faire via htaccess ou en modifiant directement le fichier php.ini.

max_input_vars  2500
memory_limit    256M
11
Nilesh Chourasia

Comme David l'a souligné, j'irais avec KB dans la plupart des cas.

php_value post_max_size 2KB

Remarque: mon formulaire est simple, juste quelques zones de texte, pas un texte long.

5

Par défaut, la demande de publication a une taille maximale de 8 Mo. Mais vous pouvez le modifier selon vos besoins. La modification peut être effectuée en ouvrant le fichier php.ini (paramètre de configuration php).

Trouver

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

remplacez 8 selon vos besoins.

1
Muhammad Ashfaq

C'est au serveur http de décider s'il y a une limite. Le produit sur lequel je travaille permet à l’administrateur de configurer la limite.

1
ChrisH