Itu tergantung pada metode yang Anda gunakan untuk mengirim formulir.
Dengan GET, ada batasan umum yang disepakati sekitar 1-2 kilobyte, tergantung pada batasan browser dan server.
Dengan POST, tidak ada batasan teknis di browser, tetapi biasanya satu di sisi server - lihat misalnya Apache LimitRequestBody, PHP, post_max_sizedan sebagainya.
Berhati-hatilah dengan masalah yang ditunjukkan oleh @naugtur di bawah ini untuk kolom input teks - setidaknya untuk masalah tersebut ada batasan teknis yang diberlakukan oleh browser yang berbeda.
Oliver
Saya baru saja menjalankan beberapa tes pada 3 browser yang agak terkini (IE9, FF 10 ESR, Chrome 24) dan mereka semua mengirimkan nilai input tersembunyi 100KB tanpa masalah. Jadi masalah dengan input teks sepertinya tidak berlaku di sini.
Oliver
bagaimana dengan textareas?
Francisco Corrales Morales
@FranciscoCorralesMorales tidak masalah apa pun jenis kolom inputnya - yang dihitung adalah hasil akhirnya, jumlah semua data yang Anda kirim
Pekka
Saya menemukan bahwa Safari memotong input tersembunyi. Menggunakan textarea memecahkan masalah.
Brendon Muir
29
Peringatan! Saya pernah mengalami masalah <input type="text">ketika teks lebih panjang dari 65535 (ukuran int bertanda tangan maks)
Menempelkan teks tampaknya menyebabkan beberapa konten meluap yang aneh. Terlihat di webkit.
[edit]
Ukuran permintaan GET tidak sepenuhnya terbatas seperti yang ditulis Pekka. Ada batas 2083 byte untuk seluruh string kueri GET address?paramsdi Internet Explorer saja.
Di browser lain praktis tidak ada batasan, dengan FireFox mengirimkan kueri GET lebih dari 100 KB misalnya. Jelas server harus mengizinkan itu.
Itu tidak tercakup dalam dokumentasi, jadi seseorang harus mengujinya untuk mengetahui batasan untuk browser lain. YAITU: http://support.microsoft.com/kb/208427
+1 Saya telah membuat jsFiddle ini untuk menguji apa yang terjadi ketika Anda menetapkan nilai input ke string yang sangat panjang: jsfiddle.net/3TVPL/6 Saya telah menggunakan string sepanjang 65537 karakter. Dalam pengujian saya, Crome 24.0.1312 dan Safari 5.1.7 untuk Windows keduanya menunjukkan kotak input kosong setelah mengatur nilai ke string itu. Chrome menunjukkan nilai tidak kosong yang tepat jika saya mengurangi string menjadi 65536 karakter. Browser lain (Firefox 17, IE8, IE9, IE10, Opera 12.12) tidak memiliki masalah apa pun bahkan dengan string lebih lama (Saya naik sejauh sekitar string 1.2 Mb)
beluga
@beluga kerja bagus. ada pemikiran tentang kinerja? Pada mesin saya yang lemah itu menunggu lama. Saya rasa itu sebabnya webkit tidak membuat itu.
naugtur
Poin bagus, mungkin. Saya tidak melakukan pengujian kinerja apa pun saat ini. Saya memiliki mesin yang cukup kuat di tempat kerja dan tidak melihat adanya penundaan di salah satu browser.
beluga
Itu membuat FF saya tidak dapat digunakan selama 5 menit. Menempatkan sebanyak ini dalam bidang formulir bukanlah ide yang baik :)
naugtur
Browser seluler dan proxy juga dapat memotong bidang tersembunyi
Jawaban:
Itu tergantung pada metode yang Anda gunakan untuk mengirim formulir.
Dengan GET, ada batasan umum yang disepakati sekitar 1-2 kilobyte, tergantung pada batasan browser dan server.
Dengan POST, tidak ada batasan teknis di browser, tetapi biasanya satu di sisi server - lihat misalnya Apache
LimitRequestBody
, PHP,post_max_size
dan sebagainya.sumber
textarea
s?Peringatan! Saya pernah mengalami masalah
<input type="text">
ketika teks lebih panjang dari 65535 (ukuran int bertanda tangan maks)Menempelkan teks tampaknya menyebabkan beberapa konten meluap yang aneh. Terlihat di webkit.
[edit]
Ukuran permintaan GET tidak sepenuhnya terbatas seperti yang ditulis Pekka. Ada batas 2083 byte untuk seluruh string kueri GET
address?params
di Internet Explorer saja. Di browser lain praktis tidak ada batasan, dengan FireFox mengirimkan kueri GET lebih dari 100 KB misalnya. Jelas server harus mengizinkan itu.Itu tidak tercakup dalam dokumentasi, jadi seseorang harus mengujinya untuk mengetahui batasan untuk browser lain. YAITU: http://support.microsoft.com/kb/208427
sumber