tutorial pengembangan web terbaru
 

Metode HTTP: GET vs POST


Dua metode HTTP yang paling sering digunakan adalah: GET dan POST.


Apa HTTP?

Hypertext Transfer Protocol (HTTP) dirancang untuk memungkinkan komunikasi antara klien dan server.

HTTP bekerja sebagai protokol request-respon antara klien dan server.

Sebuah web browser mungkin klien, dan aplikasi pada komputer yang host situs web mungkin server.

Contoh: Seorang klien (browser) mengajukan permintaan HTTP ke server; kemudian server mengembalikan respon ke klien. Tanggapan berisi informasi status tentang permintaan dan mungkin juga mengandung konten yang diminta.


Dua Metode Permintaan HTTP: GET dan POST

Dua metode yang umum digunakan untuk permintaan-respon antara klien dan server adalah: GET dan POST.

  • GET - Permintaan data dari sumber tertentu
  • POST - data yang Serahkan untuk diproses ke sumber daya tertentu

GET Metode

Perhatikan bahwa string (nama / nilai pasangan) dikirim dalam URL dari permintaan GET:

/test/demo_form.asp?name1=value1&name2=value2

Beberapa catatan lain pada permintaan GET:

  • GET permintaan dapat di-cache
  • GET permintaan tetap dalam riwayat browser
  • GET permintaan dapat di-bookmark
  • GET permintaan tidak boleh digunakan ketika berhadapan dengan data sensitif
  • GET permintaan memiliki batasan panjang
  • GET permintaan harus digunakan hanya untuk mengambil data

Metode POST

Perhatikan bahwa string (nama / nilai pasangan) yang dikirim dalam tubuh pesan HTTP dari permintaan POST:

POST /test/demo_form.asp HTTP/1.1
Host: w3ii.com
name1=value1&name2=value2

Beberapa catatan lain pada permintaan POST:

  • permintaan POST tidak pernah cache
  • permintaan POST tidak tetap dalam riwayat browser
  • permintaan POST tidak dapat di-bookmark
  • permintaan POST tidak memiliki batasan pada panjang data

Bandingkan GET vs POST

Tabel berikut membandingkan dua metode HTTP: GET dan POST.

MENDAPATKAN POS
tombol BACK / Reload tak ada salahnya Data akan dikirim ulang (browser harus memberitahukan pengguna bahwa data akan segera dikirim ulang)
Ditandai Dapat di-bookmark tidak dapat di-bookmark
cache Dapat di-cache tidak cache
jenis pengkodean aplikasi / x-www-form-urlencoded aplikasi / x-www-form-urlencoded atau multipart / form-data. Gunakan encoding multi untuk data biner
Sejarah Parameter tetap di browser history Parameter tidak disimpan dalam riwayat browser
Pembatasan panjang data Ya, saat mengirim data, metode GET menambahkan data ke URL; dan panjang URL terbatas (maksimum panjang URL adalah 2048 karakter) Tidak ada batasan
Pembatasan tipe data Hanya karakter ASCII diperbolehkan Tidak ada batasan. Data biner juga diperbolehkan
Keamanan GET kurang aman dibandingkan dengan POST karena data yang dikirim adalah bagian dari URL

Jangan pernah menggunakan GET ketika mengirim password atau informasi sensitif lainnya!
POST sedikit lebih aman daripada GET karena parameter tidak disimpan dalam riwayat browser atau di log server web
jarak penglihatan Data terlihat untuk semua orang di URL Data tidak ditampilkan di URL

Metode HTTP Permintaan lainnya

Tabel berikut ini berisi beberapa metode permintaan HTTP lainnya:

metode Deskripsi
HEAD Sama seperti GET tapi kembali hanya HTTP header dan tubuh tidak dokumen
PUT Upload representasi dari URI yang ditentukan
DELETE Menghapus sumber daya yang ditentukan
OPTIONS Mengembalikan metode HTTP yang mendukung server yang
CONNECT Mengubah koneksi permintaan ke transparan TCP / IP tunnel