Perbedaan Metode POST dan GET pada Form Submit

Perbedaan Metode POST dan GET pada Form Submit

Pada form submit, akan kita dapati 2 method yang sering digunakan yaitu metode POST dan GET. Metode ini jika tidak didefinisikan pada form, maka secara default, form akan menggunakan metode GET untuk mengirim datanya. Namun perlu diketahui bahwa kedua metode tersebut memiliki perbedaan yang sangat berbeda.

Penggunaan metode untuk form ini juga memerlukan adanya sebuah bahasa pemrograman yang akan mengeksekusi hasil submit form tersebut. Bahasanya bergatung pada platform yang akan digunakan, misalnya PHP, JS, dan lainnya.

Kedua metode ini yaitu POST dan GET merupakan metode yang paling umum digunakan pada bahasa pemrograman. Kamu akan sering mendapati hal tersebut pada kode yang kamu dapatkan jika kamu teliti. HTML sendiri tidak dapat memproses data yang sudah dikirim melalui form. Oleh karena itu, seperti yang sudah dijelaskan sebelumnya bahwa kamu membutuhkan sebuah bahasa pemrograman untuk mengeksekusinya.

Perbedaan POST dan GET

Perbedaan mendasar dari kedua metode akan kita bahas dalam sembilan poin yang sangat membedakannya.

1. Saat menggunakan Back Button atau Reload

Pada saat kamu melakukan reload atau menekan tombol kembali pada browser kamu setelah melakukan pengirimakn data melalui form, pada metode POST kamu akan mendapati peringatan untuk melakukan pengiriman ulang atau tidak. Namun jika pada metode GET, kamu tidak akan mendapati peringatan seperti itu. Peringatan yang muncul berupa popup yang menjelaskan bahwa data akan dikirim ulang.

2. Bookmarked

Biasanya kita akan menyimpan situs yang kita sukai dengan cara melakukan Bookmarks. Saat kamu menggunakan POST, kamu tidak akan bisa menyimpan data yang sudah kamu kirim dengan menggunakan bookmark. Berbeda dengan GET, kamu tetap bisa menyimpannya dengan memberikan bookmark pada halaman setelah data dikirim.

3. Cache

Sama seperti poin kedua, kamu tidak bisa menyimpan pada cache data yang sudah kamu kirim jika menggunakan metode POST. Sedangkan hal lain berbeda jika kamu menggunakan metode GET.

4. Tipe Encode

Perbedaan yang paling kentara juga pada tipe encode yang dilakukan dari kedua metode tersebut. Untuk GET sendiri, terbatas hanya pada encode application/x-www-form-urlencoded, sedangkan untuk POST dapat melakukan encode yang beragam seperti application/x-www-form-urlencoded ataupun multipart/form-data.

5. History

Saat ingin mengunjungi halaman yang sudah kita jelajahi sebelumnya, kita akan membuka history pada browser kita. Pada metode GET, kamu akan tetap bisa mendapati data yang kamu kirim sebelumnya pada history browser kamu. Sedangkan pada metode POST, kamu tidak akan mendapatinya. Kamu hanya akan mendapati URL form atau URL hasil setelah pengiriman data tersebut dengan isi data yang kosong.

6. Pembatasan Panjang Data

Untuk metode GET terdapat pembatasan berapa jumlah karakter yang bisa ditampung. Jumlah karakter maksimalnya adalah 2048 karakter (termasuk dengan URL) yang membuatnya tidak bisa mengirimkan data dalam jumlah yang banyak. Berbeda dengan POST, kamu tidak diberikan batasan dalam jumlah data yang yang dikirim.

7. Tipe Data

Pada poin keempat kita sudah membahas mengenai tipe encode yang bisa dilakukan. Sama halnya dengan tipe data pada metode POST dan GET, untuk metode GET memiliki  batasan yaitu hanya pada karakter ASCII saja. Sedangkan untuk POST tidak ada batasan bahkan untuk tipe data binary.

8. Keamanan

Hal yang sangat perlu diperhatikan untuk seorang programmer adalah keamanan data tersebut. Kamu harus tau kapan harus menggunakan metode POST dan GET pada website yang sedang kamu kerjakan. Untuk metode GET memiliki keamanan yang kurang dikarenakan data tersimpan pada history, parameter URL, dan juga cache. Jangan sesekali menggunakan metode GET untuk mengirim data yang sensitif seperti password. Berbeda dengan metode POST, metode ini jauh lebih aman dibendingkan dengan metode GET secara pengelihatan awam. POST tidak akan menyimpan parameter pada URL, serta tidak akan tersimpan pada history maupun catatan pada server.

9. Visibilitas

Poin terakhir ini yang mendukung argumen dari poin ke-delapan diatas. Hal ini dikarenakan pada metode GET, data akan dapat terlihat untuk semua orang. Sedangkan untuk metode POST, tidak akan terlihat pada URL.

Kedua metode diatas merupakan yang paling dasar dan sering digunakan. Pada pemrograman tingkat lanjut, kamu akan mendapati beberapa HTTP Method lainnya seperti:

  • PUT
  • HEAD
  • DELETE
  • PATCH
  • OPTIONS
Semoga artikel yang berjudul Perbedaan Metode POST dan GET pada Form Submit dapat bermanfaat dan membantumu. Terima kasih.