HTTP Status Code
Pengantar
HTTP Status Code adalah kode numerik 3 digit yang dikirim oleh server sebagai respons terhadap permintaan dari klien (seperti browser atau aplikasi). Kode ini memberi tahu apakah permintaan berhasil, gagal, atau memerlukan tindakan tambahan. Memahami status code sangat penting untuk debugging, pengembangan web, dan analisis performa situs.
"HTTP Status Code adalah bahasa komunikasi antara server dan klien di dunia web."
Struktur HTTP Status Code
Status code dibagi menjadi 5 kategori utama, masing-masing dimulai dengan angka pertama:
| Kelas | Arti Umum |
|---|---|
| 1xx | Informasi – Permintaan telah diterima, proses berlanjut |
| 2xx | Sukses – Permintaan berhasil diproses |
| 3xx | Redireksi – Perlu tindakan lebih lanjut untuk menyelesaikan permintaan |
| 4xx | Kesalahan Klien – Permintaan salah atau tidak dapat dipenuhi |
| 5xx | Kesalahan Server – Server mengalami masalah teknis |
1xx – Informational Responses
Kode dalam kelompok ini digunakan untuk memberi tahu klien bahwa permintaan telah diterima dan sedang diproses.
| Kode | Nama | Deskripsi |
|---|---|---|
| 100 | Continue | Klien harus melanjutkan permintaan. |
| 101 | Switching Protocols | Server setuju untuk beralih protokol sesuai permintaan klien. |
| 102 | Processing (WebDAV) | Server sedang memproses permintaan, tetapi belum selesai. |
| 103 | Early Hints | Memberikan respons awal untuk optimasi seperti preload aset. |
2xx – Successful Responses
Kelompok ini menunjukkan bahwa permintaan klien berhasil diproses oleh server.
| Kode | Nama | Deskripsi |
|---|---|---|
| 200 | OK | Permintaan berhasil; data dikembalikan dalam respons. |
| 201 | Created | Sumber daya baru berhasil dibuat (biasanya hasil POST). |
| 202 | Accepted | Permintaan diterima tetapi belum selesai diproses (diproses asinkron). |
| 203 | Non-Authoritative Information | Data disediakan oleh proxy, bukan server asli. |
| 204 | No Content | Permintaan berhasil, tapi tidak ada konten yang dikembalikan. |
| 205 | Reset Content | Browser harus mereset formulir setelah pengiriman. |
| 206 | Partial Content | Server mengirim sebagian dari sumber daya (digunakan pada streaming video/audio). |
3xx – Redirection Messages
Kode dalam kategori ini menunjukkan bahwa klien perlu melakukan tindakan tambahan untuk menyelesaikan permintaan, biasanya mengarahkan ke URL lain.
| Kode | Nama | Deskripsi |
|---|---|---|
| 300 | Multiple Choices | Ada beberapa opsi untuk sumber daya yang diminta. |
| 301 | Moved Permanently | Sumber daya telah dipindahkan secara permanen ke lokasi baru. |
| 302 | Found (Moved Temporarily) | Sumber daya tersedia di lokasi lain, tetapi akan kembali ke alamat semula. |
| 303 | See Other | Gunakan metode GET untuk mendapatkan sumber daya. |
| 304 | Not Modified | Sumber daya tidak berubah; cache bisa digunakan. |
| 307 | Temporary Redirect | Sama seperti 302, tetapi klien harus menggunakan metode yang sama (misalnya POST). |
| 308 | Permanent Redirect | Sama seperti 301, tetapi klien harus gunakan metode yang sama. |
4xx – Client Error Responses
Kode dalam kategori ini menunjukkan bahwa permintaan dari klien tidak valid atau tidak dapat diproses oleh server.
| Kode | Nama | Deskripsi |
|---|---|---|
| 400 | Bad Request | Format permintaan tidak valid. |
| 401 | Unauthorized | Autentikasi diperlukan. |
| 403 | Forbidden | Akses ditolak karena izin tidak mencukupi. |
| 404 | Not Found | Sumber daya tidak ditemukan. |
| 405 | Method Not Allowed | Metode HTTP tidak diperbolehkan untuk sumber daya tersebut. |
| 408 | Request Timeout | Klien tidak mengirimkan permintaan tepat waktu. |
| 409 | Conflict | Konflik saat memperbarui sumber daya. |
| 410 | Gone | Sumber daya dulu ada, tapi sudah dihapus dan tidak tersisa. |
| 415 | Unsupported Media Type | Tipe media yang diminta tidak didukung. |
| 429 | Too Many Requests | Terlalu banyak permintaan dari klien (rate limiting). |
5xx – Server Error Responses
Kode dalam kategori ini menunjukkan bahwa server mengalami kesalahan saat memproses permintaan.
| Kode | Nama | Deskripsi |
|---|---|---|
| 500 | Internal Server Error | Kesalahan umum di sisi server. |
| 501 | Not Implemented | Fungsi tidak tersedia. |
| 502 | Bad Gateway | Server bertindak sebagai gateway/proxy menerima respons tidak valid. |
| 503 | Service Unavailable | Server sedang overload atau dalam maintenance. |
| 504 | Gateway Timeout | Server sebagai gateway tidak menerima respons tepat waktu. |
| 505 | HTTP Version Not Supported | Versi HTTP tidak didukung oleh server. |
Tabel Ringkasan Kategori HTTP Status Code
| Kategori | Rentang | Tujuan |
|---|---|---|
| 1xx | 100–199 | Memberi informasi bahwa permintaan diterima dan masih diproses. |
| 2xx | 200–299 | Menandakan permintaan berhasil diproses. |
| 3xx | 300–399 | Mengarahkan klien ke URL lain. |
| 4xx | 400–499 | Kesalahan di sisi klien. |
| 5xx | 500–599 | Kesalahan di sisi server. |
Studi Kasus Penggunaan HTTP Status Code
Contoh 1: Mendaftar Akun Baru
- Permintaan: Klien mengirim form registrasi.
- Respons:
201 Created→ Berhasil membuat akun baru.
Contoh 2: Mengakses Halaman Web
- Permintaan:
GET /home - Respons:
200 OK→ Halaman berhasil dimuat.
Contoh 3: Pemutaran Video Streaming
- Permintaan:
GET /video.mp4dengan headerRange - Respons:
206 Partial Content→ Server mengirim bagian dari file video.
Contoh 4: Login Gagal
- Permintaan:
POST /logindengan username/password salah. - Respons:
401 Unauthorized→ Autentikasi diperlukan.
Contoh 5: Server Maintenance
- Permintaan: Klien mengakses website.
- Respons:
503 Service Unavailable→ Server sedang dalam perawatan.
Tips Belajar HTTP Status Code
✅ Gunakan Developer Tools
Buka halaman web → Tekan F12 → Tab Network → Lihat status code setiap permintaan.
✅ Hafalkan Kode Penting
200,201,404,403,500,503
✅ Gunakan API Testing Tools
Seperti Postman atau Insomnia untuk uji respons API.
✅ Debug Lebih Efektif
Jika suatu halaman tidak bekerja, cek status code untuk mengetahui jenis kesalahan.
Kesimpulan
HTTP Status Code adalah bagian penting dari komunikasi client-server dalam web. Dengan memahami arti setiap kode: 🔹 Kamu bisa debug error lebih cepat
🔹 Bisa menulis aplikasi web/API lebih stabil
🔹 Lebih mudah mengoptimalkan pengalaman pengguna dan performa situs
Memahami status code adalah langkah awal untuk menjadi pengembang web yang handal.
📝 Catatan Tambahan:
- Simpan file ini sebagai
http_status_code.mdagar bisa dibuka di aplikasi Markdown seperti Obsidian, Typora, atau VS Code.- Kamu juga bisa gunakan file ini untuk membuat ringkasan, mind map, atau flashcard belajar.