Saya mendengar bahwa HTTP POST tidak memiliki batasan spesifikasi dalam ukuran data yang dapat dikirim olehnya. Apakah itu benar atau hanya ada batas yang sangat tinggi?
Jawaban:
EDIT (2019) Jawaban ini sekarang cukup berlebihan tetapi ada jawaban lain dengan informasi yang lebih relevan.
Ini lebih tergantung pada server web dan browser web:
Internet explorer Semua versi 2GB-1
Mozilla Firefox Semua versi 2GB-1
IIS 1-5 2GB-1
IIS 6 4GB-1
Meskipun IIS hanya mendukung 200 KB secara default, metabase perlu diubah untuk meningkatkannya.
http://www.motobit.com/help/scptutl/pa98.htm
Metode POST itu sendiri tidak memiliki batasan ukuran data.
Sungguh menakjubkan bagaimana semua jawaban berbicara tentang IIS, seolah-olah itu adalah satu-satunya server web yang penting. Bahkan di tahun 2010 ketika pertanyaan itu diajukan, Apache memiliki antara 60% dan 70% pangsa pasar . Bagaimanapun,
min(serverMaximumSize, clientMaximumSize)
.Berikut adalah ukuran badan POST untuk beberapa server HTTP yang lebih populer:
Tidak ada batasan menurut protokol HTTP itu sendiri, tetapi penerapannya akan memiliki batas atas praktis. Saya telah mengirim data melebihi 4 GB menggunakan POST ke Apache, tetapi beberapa server memang memiliki batas 4 GB pada saat itu.
LimitRequestBody
perintah tersebut.
POST memungkinkan panjang data yang berubah-ubah untuk dikirim ke server, tetapi ada batasan berdasarkan batas waktu / bandwidth, dll.
Saya pikir pada dasarnya, lebih aman untuk berasumsi bahwa mengirim banyak data tidak boleh.
Server web IIS yang berbeda dapat memproses jumlah data yang berbeda di 'header', menurut artikel ini (sekarang dihapus); http://classicasp.aspfaq.com/forms/what-is-the-limit-on-form/post-parameters.html ;
Perhatikan bahwa tidak ada batasan jumlah elemen FORM yang dapat Anda berikan melalui POST, tetapi hanya pada ukuran agregat dari semua pasangan nama / nilai. Sementara GET dibatasi hingga serendah 1024 karakter, data POST dibatasi hingga 2 MB pada IIS 4.0, dan 128 KB pada IIS 5.0. Setiap nama / nilai dibatasi hingga 1024 karakter, seperti yang diberlakukan oleh spesifikasi SGML. Tentu saja ini tidak berlaku untuk file yang diunggah menggunakan enctype = 'multipart / form-data' ... Saya tidak mengalami masalah saat mengunggah file dalam rentang 90 - 100 MB menggunakan IIS 5.0, selain harus meningkatkan nilai server.scriptTimeout serta kesabaran saya!
Dalam sebuah aplikasi yang saya kembangkan, saya menemukan apa yang tampaknya menjadi batas POST sekitar 2KB. Ternyata saya tidak sengaja menyandikan parameter ke dalam URL alih-alih meneruskannya di badan. Jadi jika Anda mengalami masalah di sana, pasti ada batasan yang sangat kecil pada ukuran data POST yang dapat Anda kirim yang dikodekan ke dalam URL.
HTTP mungkin tidak memiliki batas atas, tetapi server web mungkin memilikinya. Di ASP.NET ada batas penerimaan default sebesar 4 MB, tetapi Anda (pengembang / webmaster) dapat mengubahnya menjadi lebih tinggi atau lebih rendah.