GET dan POST adalah dua metode permintaan HTTP yang paling umum digunakan. Biasanya permintaan GET digunakan untuk meminta halaman web sementara POST digunakan untuk mengirim data ke server web seperti melalui formulir web.
Tip: Meskipun disebut metode HTTP, GET dan POST juga digunakan dalam HTTPS.
Salah satu perbedaan penting adalah bahwa parameter apa pun yang disertakan dalam permintaan GET disertakan dalam URL itu sendiri, sedangkan parameter dalam permintaan POST adalah bagian dari badan permintaan.
Misalnya, URL permintaan GET mungkin terlihat seperti “GET.php? parameter=value” sedangkan URL untuk permintaan POST akan terlihat seperti “POST.php” dan kemudian memiliki “parameter=value” yang disetel di badan permintaan.
Salah satu konsekuensi utama dari ini adalah bahwa ketika server web meminta log, URL yang diminta selalu dicatat. Jadi, untuk permintaan GET, parameternya juga dicatat, dalam kasus permintaan POST meskipun nilainya tidak dicatat karena isi permintaan tidak dicatat. Ini sangat penting untuk formulir yang berisi data sensitif seperti kata sandi atau PII (Informasi Identifikasi Pribadi), karena menggunakan POST berarti informasi ini tidak masuk server web.
Perbedaan lain antara GET dan POST termasuk fakta bahwa permintaan GET dapat di-cache oleh browser atau cache pihak ketiga, permintaan GET disertakan dalam riwayat browser dan dapat di-bookmark. Permintaan POST sebagai perbandingan tidak pernah di-cache, tidak disimpan ke riwayat browser, dan tidak dapat di-bookmark.
Dimungkinkan untuk mengonfigurasi formulir untuk menggunakan permintaan GET untuk mengirim data ke server web tetapi melakukannya adalah ide yang buruk karena semua faktor ini ikut berperan. Ini sangat penting untuk formulir sensitif seperti formulir masuk, seolah-olah permintaan ini dicatat, itu akan mengungkapkan kata sandi pengguna, dan jika respons di-cache oleh pihak ketiga, itu dapat memungkinkan pengguna lain masuk ke akun pengguna Akun.