1. 4 HTTP Methods Utama (Operasi REST API)
HTTP (HyperText Transfer Protocol) adalah aturan tata krama komunikasi di web. Setiap kali browser atau aplikasi mengirim permintaan ke server, ia menyertakan 'Method' yang menjelaskan niatnya:
HTTP Verbs
1. **GET**: Mengambil / membaca data dari server (tanpa mengubah data).
2. **POST**: Mengirim data baru ke server (misal: pendaftaran user baru, kirim formulir).
3. **PUT / PATCH**: Mengubah atau memperbarui data yang sudah ada di server.
4. **DELETE**: Menghapus data spesifik dari server.
2. Golongan HTTP Status Codes
Server merespons setiap request dengan kode status 3 digit angka standar internasional:
Kategori Status Code
- **2xx (Success)**: `200 OK` (Permintaan berhasil), `201 Created` (Data baru berhasil disimpan).
- **3xx (Redirection)**: `301 Moved Permanently` (Halaman pindah alamat URL).
- **4xx (Client Error)**: `400 Bad Request` (Format data salah), `401 Unauthorized` (Belum login), `403 Forbidden` (Tidak punya izin akses), `404 Not Found` (Halaman/data tidak ada).
- **5xx (Server Error)**: `500 Internal Server Error` (Kode server crash/bug), `503 Service Unavailable` (Server sedang kelebihan beban).
Contoh Melakukan HTTP Request dengan Fetch API
javascript
| 1 | async function kirimDataRegistrasi(email, password) { |
| 2 | const response = await fetch("https://api.kulodev.id/auth/register", { |
| 3 | method: "POST", |
| 4 | headers: { |
| 5 | "Content-Type": "application/json", |
| 6 | }, |
| 7 | body: JSON.stringify({ email, password }), |
| 8 | }); |
| 9 | |
| 10 | if (response.status === 201) { |
| 11 | const data = await response.json(); |
| 12 | console.log("✅ Registrasi sukses! ID:", data.userId); |
| 13 | } else if (response.status === 400) { |
| 14 | console.warn("⚠️ Data tidak valid atau email sudah terdaftar"); |
| 15 | } else { |
| 16 | console.error("❌ Terjadi kesalahan server:", response.status); |
| 17 | } |
| 18 | } |
Kuis Pemahaman
+10 XP
Jika pengguna mencoba membuka halaman artikel yang URL-nya salah ketik dan halaman tersebut memang tidak ada di server, kode status HTTP apa yang seharusnya dikembalikan oleh server?