Metode Permintaan HTTP


Apa itu HTTP?

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

HTTP berfungsi sebagai protokol permintaan-respons antara klien dan server.

Contoh: Seorang 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.


Metode HTTP

  • DAPATKAN
  • POS
  • MELETAKKAN
  • KEPALA
  • MENGHAPUS
  • PATCH
  • PILIHAN

Dua metode HTTP yang paling umum adalah: GET dan POST.


Metode DAPATKAN

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:

  • DAPATKAN permintaan dapat di-cache
  • DAPATKAN permintaan tetap ada di riwayat browser
  • DAPATKAN permintaan dapat di-bookmark
  • Permintaan GET tidak boleh digunakan saat berurusan dengan data sensitif
  • GET permintaan memiliki batasan panjang
  • Permintaan GET hanya digunakan untuk meminta data (tidak mengubah)

Metode POSTING

POST digunakan untuk mengirim data ke server untuk membuat/memperbarui sumber daya.

Data yang dikirim ke server dengan POST disimpan di badan permintaan 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 di-cache
  • Permintaan POST tidak tetap dalam riwayat browser
  • Permintaan POST tidak dapat di-bookmark
  • Permintaan POST tidak memiliki batasan panjang data


Metode 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 membuat sumber daya yang sama beberapa kali.


Metode KEPALA

HEAD hampir identik dengan GET, tetapi tanpa badan respons.

Dengan kata lain, jika GET /users mengembalikan daftar pengguna, maka HEAD /users 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 badan respons.


Metode HAPUS

Metode DELETE menghapus sumber daya yang ditentukan.


Metode PILIHAN

Metode OPTIONS menjelaskan opsi komunikasi untuk sumber daya target.


Bandingkan GET vs. POST

Tabel berikut membandingkan dua metode HTTP: GET dan POST.

  GET POST
BACK button/Reload Harmless Data will be re-submitted (the browser should alert the user that the data are about to be re-submitted)
Bookmarked Can be bookmarked Cannot be bookmarked
Cached Can be cached Not cached
Encoding type application/x-www-form-urlencoded application/x-www-form-urlencoded or multipart/form-data. Use multipart encoding for binary data
History Parameters remain in browser history Parameters are not saved in browser history
Restrictions on data length Yes, when sending data, the GET method adds the data to the URL; and the length of a URL is limited (maximum URL length is 2048 characters) No restrictions
Restrictions on data type Only ASCII characters allowed No restrictions. Binary data is also allowed
Security GET is less secure compared to POST because data sent is part of the URL

Never use GET when sending passwords or other sensitive information!
POST is a little safer than GET because the parameters are not stored in browser history or in web server logs
Visibility Data is visible to everyone in the URL Data is not displayed in the URL