2010-05-21 7 views
25

Ho sentito che il POST non ha limiti nella dimensione dei dati che può essere inviato da esso, è vero o esiste un limite veramente alto?Http POST è illimitato?

risposta

30

E 'piuttosto dipende dal server Web e browser web:

Internet Explorer Tutte le versioni da 2 GB-1
Mozilla Firefox Tutte le versioni da 2 GB-1
IIS 1-5 2GB-1
IIS 6 4GB-1

Sebbene IIS solo 200KB supporto per default, la metabase bisogno ame nding per aumentare questo.

http://www.motobit.com/help/scptutl/pa98.htm

Il metodo POST per sé non ha alcun limite alla dimensione dei dati.

+0

upvote per menzionare Metabase.XML e ho elencato vari modi per modificare il limite della dimensione del caricamento del file perché potrebbe essere utile. –

+0

L'immissione del seguente comando nel prompt dei comandi consente di aumentare il limite della dimensione di caricamento del file. "Cscript C: \ inetpub \ adminscripts \ adsutil.vbs set w3svc/ASPMaxRequestEntityAllowed 10484880" (in byte) reference: https: //www.serverintellect.com/support/ iis/uploaddownload-size-limits-iis6/ –

+0

o trova metabase.xml in C: \ windows \ sytem32 \ inetserv \ path e modifica ma assicurati che Enable edit Direct metabase sia abilitato. reference: http: //www.banmanpro.com /support2/file_upload_limits.asp –

17

Non esiste alcun limite in base al protocollo HTTP stesso, ma le implementazioni avranno un limite superiore pratico. Ho inviato dati superiori a 4 GB utilizzando POST ad Apache, ma alcuni server avevano un limite di 4 GB al momento.

3

POST consente una lunghezza arbitraria dei dati da inviare a un server, ma ci sono limitazioni sulla base di timeout/larghezza di banda ecc

credo in fondo, è più sicuro presumere che si tratta di non va bene per l'invio molti dati

+0

Esistono regole empiriche su quanto sta diventando pericoloso per timeout e simili? – vextorspace

3

Diversi server Web IIS possono elaborare diverse quantità di dati nell''intestazione ', in base a questo articolo (ora eliminato); http://classicasp.aspfaq.com/forms/what-is-the-limit-on-form/post-parameters.html;

noti che non v'è alcun limite al numero di elementi modulo è possibile passare tramite POST, ma solo sul dimensione aggregata di tutte le coppie nome/valore. Mentre GET è limitato a 1024 caratteri, i dati POST sono limitati a 2 MB su IIS 4.0 e 128 KB su IIS 5.0. Ogni nome/valore è limitato a 1024 caratteri, come imposto dalla specifica SGML . Naturalmente questo non si applica ai file caricati utilizzando enctype = 'multipart/form-data' ... I non ha avuto problemi nel caricare i file nell'intervallo 90 - 100 MB utilizzando IIS 5.0, oltre a dover aumentare il valore server.scriptTimeout così come la mia pazienza!

+1

Buona modifica @Matt - mostra l'importanza di eliminare i fatti salienti piuttosto che collegare ciecamente – amelvin

0

Http potrebbe non avere un limite superiore, ma i server Web potrebbero averne uno. In asp.net è disponibile un limite di accettazione predefinito di 4 MB, ma tu (lo sviluppatore/il webmaster) puoi modificare quello per essere più alto o più basso.

0

In un'applicazione che stavo sviluppando mi sono imbattuto in quello che sembrava essere un limite POST di circa 2 KB. Si è scoperto che stavo accidentalmente codificando i parametri nell'URL invece di passarli nel corpo. Quindi, se stai incontrando un problema, c'è sicuramente un limite molto piccolo alla dimensione dei dati POST che puoi inviare codificati nell'URL.