Metode permintaan HTML

Apa itu HTTP?

Protokol Transfer Hyper-Teks (Hypertext Transfer Protocol, disingkat HTTP) bertujuan untuk memungkinkan komunikasi antara klien dan pelayan.

HTTP bertindak sebagai protokol permintaan-tanggapan antara klien dan pelayan.

Contoh: Klien (pelayar) mengirim permintaan HTTP ke pelayan; kemudian pelayan mengembalikan tanggapan kepada klien. Tanggapan mengandung informasi tentang status permintaan, mungkin juga mengandung konten yang diminta.

Metode HTTP

  • GET
  • POST
  • PUT
  • HEAD
  • DELETE
  • PATCH
  • OPTIONS

Dua jenis paling sering digunakan adalah: GET dan POST.

Metode GET

GET digunakan untuk meminta data daripada sumber yang ditentukan.

GET adalah salah satu metode HTTP yang paling sering digunakan.

Perhatikan bahwa string query (pasangan nama/nilai) dikirim di URL permintaan GET:

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

Beberapa komentar lain tentang permintaan GET:

  • Permintaan GET dapat disimpan di cache
  • Permintaan GET disimpan di riwayat browser
  • Permintaan GET dapat dijadikan tanda buku
  • Permintaan GET seharusnya tidak digunakan untuk mengolah data sensitif
  • Permintaan GET memiliki batas panjang
  • Permintaan GET hanya seharusnya digunakan untuk mengambil data (tidak mengubah)

Metode POST

POST digunakan untuk mengirim data ke server untuk membuat/update resource.

Data yang dikirim ke server melalui POST disimpan di badan permintaan permintaan HTTP:

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

POST adalah salah satu metode HTTP yang paling sering digunakan.

Beberapa komentar lain tentang permintaan POST:

  • Permintaan POST tidak disimpan di cache
  • Permintaan POST tidak disimpan di riwayat browser
  • POST tidak dapat dijadikan tanda buku
  • Permintaan POST tidak memerlukan ukuran panjang data

Metode PUT

PUT digunakan untuk mengirim data ke server untuk membuat/update resource.

Perbedaan antara POST dan PUT adalah bahwa permintaan PUT adalah idempotent (tidak berubah). Artinya, pemanggilan yang sama permintaan PUT akan selalu menghasilkan hasil yang sama. Sebaliknya, pemanggilan permintaan POST secara berulang memiliki efek samping yang menciptakan beberapa resource yang sama.

Metode HEAD

HEAD hampir sama dengan GET, tetapi tanpa badan tanggapan.

Dengan demikian, jika GET /users mengembalikan daftar pengguna, maka permintaan HEAD /users akan mengirim permintaan yang sama, tetapi tidak mengembalikan daftar pengguna.

Permintaan HEAD sangat berguna untuk memeriksa konten yang akan kembali dari permintaan GET sebelum mengirim permintaan GET sebenarnya (misalnya sebelum mengunduh berkas besar atau sebelum memperoleh konten tanggapan).

Metode DELETE

Metode DELETE menghapus sumber daya yang ditentukan.

Metode OPTIONS

Metode OPTIONS menggambarkan pilihan komunikasi sumber daya tujuan.

Bandingkan GET dengan POST

Tabel di bawah ini membandingkan dua metode HTTP: GET dan POST.

  GET POST
Tombol kembali / muat ulang Tidak berbahaya Data akan disubmit kembali (pemroses web seharusnya memberitahu pengguna bahwa data akan disubmit kembali).
Tanda buku Boleh dijadikan tanda buku Tidak boleh dijadikan tanda buku
Simpan Boleh disimpan 不能缓存
编码类型 application/x-www-form-urlencoded application/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码。
历史 参数保留在浏览器历史中。 参数不会保存在浏览器历史中。
对数据长度的限制 是的。当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。 无限制。
对数据类型的限制 只允许 ASCII 字符。 没有限制。也允许二进制数据。
安全性

与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。

在发送密码或其他敏感信息时绝不要使用 GET!

POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。
可见性 数据在 URL 中对所有人都是可见的。 数据不会显示在 URL 中。