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 |