Metode permintaan HTTP dijelaskan
HTTP mendefinisikan sembilan metode permintaan standar, tetapi sebagian besar lalu lintas sehari-hari hanya memakai beberapa saja. Tabel ini menjelaskan tiap metode, apakah aman dan idempoten, serta kode status dari panggilan yang berhasil.
| Metode | Fungsi | Aman? | Idempoten? | Status sukses |
|---|---|---|---|---|
| GET | Retrieve a resource | Yes | Yes | 200 OK |
| HEAD | Retrieve headers only, no body | Yes | Yes | 200 OK |
| POST | Create a resource or trigger an action | No | No | 201 Created |
| PUT | Replace a resource entirely | No | Yes | 200 OK / 204 No Content |
| PATCH | Apply a partial update | No | No | 200 OK |
| DELETE | Remove a resource | No | Yes | 200 OK / 204 No Content |
| OPTIONS | CORS preflight; list allowed methods | Yes | Yes | 204 / 200 OK |
| TRACE | Echo the request back for diagnostics | Yes | Yes | 200 OK |
| CONNECT | Open a tunnel, e.g. HTTPS via a proxy | No | No | 200 OK |
Catatan
- Aman berarti metode tidak pernah mengubah status server: hanya GET, HEAD, OPTIONS, dan TRACE yang aman.
- Idempoten berarti memanggil berulang kali memberi hasil yang sama dengan satu panggilan: PUT, DELETE, dan GET memenuhi; POST dan PATCH tidak.
- Jika rute tidak menerima suatu metode, server membalas 405 Method Not Allowed dan biasanya menyertakan header Allow.
Pertanyaan umum
- Apa bedanya GET dan POST?
- GET mengambil sumber daya tanpa efek samping dan aman diulang; parameternya ada di URL. POST membuat sesuatu atau memicu aksi, bisa mengubah keadaan, dan tidak boleh diulang sembarangan.
- Apa artinya metode HTTP dikatakan aman?
- Metode aman tidak pernah mengubah keadaan server, jadi bisa dipanggil tanpa risiko. GET, HEAD, OPTIONS, dan TRACE aman; POST, PUT, PATCH, dan DELETE tidak.
- Apa bedanya PUT dan PATCH?
- PUT mengganti seluruh sumber daya dengan yang Anda kirim; PATCH hanya mengubah sebagian pada kolom tertentu. PUT idempoten, diulang pun hasilnya sama; PATCH umumnya tidak.
- Apa fungsi metode HEAD?
- HEAD berperilaku seperti GET tetapi tidak mengembalikan isi respons. Berguna untuk memeriksa apakah sumber daya ada, ukurannya, atau headernya, tanpa mengunduh seluruh konten.