Section Artikel
Apa itu HTTP?
Hypertext Transfer Protocol (HTTP) dirancang untuk memungkinkan komunikasi antara klien dan server.
HTTP berfungsi sebagai protokol respons dari permintaan antara klien dan server.
Contoh: Klien (browser) mengirimkan permintaan HTTP ke server; kemudian server mengembalikan respons ke klien. Tanggapan berisi informasi status tentang permintaan dan mungkin juga berisi konten yang diminta.
HTTP Method terdiri dari:
Dua metode HTTP yang paling umum digunakan adalah: GET dan POST.
Method GET
GET digunakan untuk meminta data dari sumber daya tertentu.
GET adalah salah satu metode HTTP yang paling umum.
Perhatikan bahwa string kueri (pasangan nama / nilai) dikirim dalam URL permintaan GET:
/test/demo_form.php?name1=value1&name2=value2 |
Beberapa catatan lain tentang permintaan GET:
- Permintaan GET dapat di-cache
- GET adalah permintaan tetap dalam riwayat browser
- GET adalah permintaan yang dapat di-bookmark
- Permintaan GET tidak boleh digunakan saat menangani data sensitif
- Permintaan GET memiliki batasan panjang
- Permintaan GET hanya digunakan untuk meminta data (bukan memodifikasi)
Method POST
POST digunakan untuk mengirim data ke server , dan server membuat / memperbarui sumber daya.
Data yang dikirim ke server dengan POST disimpan di request body permintaan HTTP:
POST /test/demo_form.php HTTP/1.1 Host: w3schools.com name1=value1&name2=value2 |
POST adalah salah satu metode HTTP yang paling umum.
Beberapa catatan lain tentang permintaan POST:
- Permintaan POST tidak pernah disimpan dalam cache
- Permintaan POST tidak tetap ada di riwayat browser
- Permintaan POST tidak dapat di-bookmark
- Permintaan POST tidak memiliki batasan panjang data
Method PUT
PUT digunakan untuk mengirim data ke server untuk membuat / memperbarui sumber daya.
Perbedaan antara POST dan PUT adalah bahwa permintaan PUT bersifat idempoten. Artinya, memanggil permintaan PUT yang sama beberapa kali akan selalu menghasilkan hasil yang sama. Sebaliknya, memanggil permintaan POST berulang kali memiliki efek samping berupa pembuatan sumber daya yang sama beberapa kali.
Method HEAD
HEAD hampir identik dengan GET, tetapi tanpa body response
Dengan kata lain, jika GET / pengguna mengembalikan daftar pengguna, maka HEAD / pengguna akan membuat permintaan yang sama tetapi tidak akan mengembalikan daftar pengguna.
Permintaan HEAD berguna untuk memeriksa permintaan GET apa yang akan dikembalikan sebelum benar-benar membuat permintaan GET – seperti sebelum mengunduh file besar atau isi respons.
Method HAPUS
Method DELETE digunakan untuk menghapus sumber daya yang ditentukan.
Method OPTIONS
Metode OPTIONS digunakan untuk menjelaskan opsi komunikasi untuk sumber daya target.
Perbandingan GET vs. POST
Tabel berikut membandingkan dua metode HTTP yaitu, GET dan POST.
GET | POST | |
---|---|---|
Tombol BACK / Reload | Tidak berbahaya | Data will be re-submitted (the browser should alert the user that the data are about to be re-submitted) |
Bookmark | Bisa dibookmark | Tidak bisa dibookmark |
Cache | Bisa di-cache | Tidak bisa di-cache |
Encoding type | application/x-www-form-urlencoded | application / x-www-form-urlencoded atau multipart / form-data. Gunakan pengkodean multibagian untuk data biner |
History | Parameter tetap ada di riwayat browser | Parameter tidak ada di riwayat browser |
Batasan panjang data | Ya, saat mengirim data, method GET menambahkan data ke URL; dan panjang URL terbatas (panjang URL maksimum adalah 2048 karakter) | Tidak ada batasan |
Batasan pada tipe data | Hanya karakter ASCII yang diperbolehkan | Tidak ada batasan. Data biner juga diperbolehkan |
Security | GET kurang aman dibandingkan dengan POST karena data yang dikirim merupakan bagian dari URL Jangan pernah menggunakan GET saat mengirim kata sandi atau informasi sensitif lainnya! | POST sedikit lebih aman daripada GET karena parameternya tidak disimpan dalam riwayat browser atau log server web |
Visibility | Data dapat dilihat oleh semua orang di URL | Data tidak ditampilkan di URL |