Dalam aplikasi B/S, interaksi data antara bagian depan dan backend diselesaikan melalui formulir formulir di HTML. Formulir menyediakan dua cara transmisi data - dapatkan dan posting. Meskipun keduanya adalah cara mengirimkan data, mereka memang sangat berbeda ketika benar -benar ditransmisikan dan mungkin memiliki dampak serius pada data. Meskipun wadah web telah memblokir beberapa perbedaan antara keduanya untuk memfasilitasi perolehan nilai variabel, akan sangat membantu untuk memahami perbedaan antara keduanya dalam pemrograman mendatang.
Metode GET dan POST dalam bentuk sesuai dengan metode GET dan POST dalam protokol HTTP masing -masing selama transmisi data. Perbedaan utama antara keduanya adalah sebagai berikut:
1. Dapatkan digunakan untuk mendapatkan data dari server, sementara POST digunakan untuk meneruskan data ke server.
2. Dapatkan menambahkan data dalam formulir ke URL yang ditunjukkan oleh tindakan dalam variabel formulir = nilai, dan keduanya menggunakan "?" untuk terhubung, sementara "&" terhubung antara setiap variabel; POST adalah untuk menempatkan data dalam bentuk dalam badan data, dan meneruskannya ke URL yang ditunjukkan oleh tindakan dengan cara variabel dan nilai sesuai dengan nilai.
3. Dapatkan tidak aman karena selama proses transmisi, data ditempatkan di URL yang diminta. Saat ini, banyak server yang ada, server proxy atau agen pengguna akan merekam URL yang diminta ke dalam file log dan kemudian menempatkannya di suatu tempat, sehingga beberapa informasi privasi dapat dilihat oleh pihak ketiga. Selain itu, pengguna juga dapat secara langsung melihat data yang dikirimkan pada browser, dan beberapa pesan sistem internal akan ditampilkan di depan pengguna. Semua operasi pos tidak terlihat oleh pengguna.
4. Jumlah data yang dikirimkan oleh GET kecil, yang terutama disebabkan oleh batasan panjang URL; Dan POST dapat mentransfer sejumlah besar data, sehingga Anda hanya dapat menggunakan posting saat mengunggah file (tentu saja ada alasan lain, yang akan disebutkan nanti).
5. Dapatkan membatasi nilai kumpulan data formulir untuk menjadi karakter ASCII; Sementara POST mendukung seluruh set karakter ISO10646.
6. Dapatkan metode formulir default.
Singkatnya:
Get Method: Pass Parameter Data dalam string URL itu sendiri, dan dapat dibaca langsung dari variabel 'Query_string' di sisi server. Ini efisien, tetapi tidak memiliki keamanan dan tidak dapat memproses data yang kompleks (hanya bisa menjadi string, misalnya, dalam servlet/jsp, ia tidak dapat menangani fungsi java seperti vektor);
Metode POST: Dalam hal metode transmisi, parameter akan dikemas dan ditransmisikan dalam datagram dan dibaca dari variabel lingkungan content_length, yang nyaman untuk mengirimkan data yang lebih besar. Pada saat yang sama, karena data tidak terpapar di bilah alamat browser, keamanannya relatif tinggi, tetapi efisiensi pemrosesan tersebut akan terpengaruh.