- Respons informatif (100 – 199)
- Respons berhasil (200 – 299)
- Pesan pengalihan (300 – 399)
- Respons kesalahan klien (400 – 499)
- Respons kesalahan server (500 – 599)
1xx – Informational
Kode | Nama | Deskripsi |
|---|---|---|
| 100 | Continue | Server menerima header request awal, client bisa lanjut mengirim body request. |
| 101 | Switching Protocols | Server menyetujui permintaan client untuk ganti protokol (misal dari HTTP ke WebSocket). |
| 102 | Processing | Server sedang memproses request tapi belum ada response (WebDAV, sekarang jarang dipakai). |
| 103 | Early Hints | Server mengirim header awal (misal preload resource) sebelum response final selesai disiapkan. |
2xx – Success
Kode | Nama | Deskripsi |
|---|---|---|
| 200 | OK | Request berhasil dan response body berisi data yang diminta. |
| 201 | Created | Request berhasil membuat resource baru; biasanya disertai header Location yang menunjuk ke resource tersebut. |
| 202 | Accepted | Request diterima untuk diproses tapi hasilnya belum tentu final (cocok untuk proses async/antrian). |
| 203 | Non-Authoritative Information | Response berhasil, tapi data yang dikirim berasal dari sumber pihak ketiga/proxy, bukan langsung dari server asal. |
| 204 | No Content | Request berhasil tapi tidak ada body untuk dikembalikan (umum untuk DELETE, atau PUT yang tidak perlu return data). |
| 205 | Reset Content | Server minta client mereset tampilan (misal form) setelah request berhasil. |
| 206 | Partial Content | Server mengirim sebagian resource sesuai header Range (dipakai untuk resume download atau streaming). |
| 207 | Multi-Status | Response berisi status dari beberapa operasi independen dalam satu request (WebDAV). |
| 208 | Already Reported | Anggota dalam DAV binding sudah dilaporkan sebelumnya, tidak diulang lagi (WebDAV). |
| 226 | IM Used | Server memenuhi request menggunakan satu atau lebih instance manipulation (jarang dipakai). |
3xx – Redirection
Kode | Nama | Deskripsi |
|---|---|---|
| 300 | Multiple Choices | Ada beberapa opsi resource yang bisa dipilih, client/user perlu memilih salah satu. |
| 301 | Moved Permanently | Resource sudah pindah permanen ke URL baru; search engine dan browser akan update referensi. |
| 302 | Found | Resource sementara ada di URL lain; request berikutnya tetap ke URL asli. |
| 303 | See Other | Client harus mengambil resource di URL lain menggunakan GET, biasanya setelah submit form (POST-redirect-GET pattern). |
| 304 | Not Modified | Resource belum berubah sejak request terakhir (cache masih valid), tidak ada body yang dikirim. |
| 305 | Use Proxy | Client harus mengakses resource melalui proxy tertentu (deprecated, alasan keamanan). |
| 307 | Temporary Redirect | Sama seperti 302, tapi method dan body request harus tetap sama saat redirect. |
| 308 | Permanent Redirect | Sama seperti 301, tapi method dan body request tetap dipertahankan. |
4xx – Client Error
Kode | Nama | Deskripsi |
|---|---|---|
| 400 | Bad Request | Request tidak valid, sintaks salah, atau data yang dikirim tidak sesuai format. |
| 401 | Unauthorized | Perlu autentikasi; client belum login atau token tidak valid. |
| 402 | Payment Required | Dicadangkan untuk sistem pembayaran/micropayment (jarang diimplementasi). |
| 403 | Forbidden | Server memahami request tapi menolak memprosesnya karena tidak punya izin akses. |
| 404 | Not Found | Resource yang diminta tidak ditemukan di server. |
| 405 | Method Not Allowed | Method HTTP (GET/POST/dll) tidak diizinkan untuk endpoint tersebut. |
| 406 | Not Acceptable | Server tidak bisa menghasilkan response sesuai header Accept yang diminta client. |
| 407 | Proxy Authentication Required | Client harus autentikasi dulu ke proxy sebelum request diteruskan. |
| 408 | Request Timeout | Server menunggu request dari client terlalu lama dan akhirnya timeout. |
| 409 | Conflict | Request bertentangan dengan state resource saat ini (misal edit data yang sudah diubah orang lain). |
| 410 | Gone | Resource pernah ada tapi sudah dihapus permanen, tidak akan tersedia lagi. |
| 411 | Length Required | Server butuh header Content-Length yang belum disertakan client. |
| 412 | Precondition Failed | Kondisi di header request (misal If-Match) tidak terpenuhi oleh server. |
| 413 | Payload Too Large | Ukuran body request melebihi batas yang diizinkan server. |
| 414 | URI Too Long | Panjang URL melebihi batas yang bisa diproses server. |
| 415 | Unsupported Media Type | Format data yang dikirim (Content-Type) tidak didukung server. |
| 416 | Range Not Satisfiable | Range yang diminta client (misal untuk partial download) tidak valid untuk ukuran resource. |
| 417 | Expectation Failed | Server tidak bisa memenuhi ekspektasi di header Expect. |
| 418 | I'm a Teapot | Lelucon April Fools dari RFC 2324, server "menolak" membuat kopi karena dia teko. |
| 421 | Misdirected Request | Request dikirim ke server yang tidak bisa memberikan response yang sesuai. |
| 422 | Unprocessable Entity | Sintaks request benar tapi ada error semantik/validasi data (umum di REST API modern). |
| 423 | Locked | Resource sedang terkunci dan tidak bisa diakses (WebDAV). |
| 424 | Failed Dependency | Request gagal karena request lain yang jadi syaratnya juga gagal (WebDAV). |
| 425 | Too Early | Server menolak memproses request yang berisiko replay attack. |
| 426 | Upgrade Required | Client harus upgrade ke protokol lain (misal dari HTTP ke HTTPS/TLS). |
| 428 | Precondition Required | Server mewajibkan request menyertakan header kondisional untuk mencegah "lost update". |
| 429 | Too Many Requests | Client mengirim terlalu banyak request dalam waktu singkat (rate limiting). |
| 431 | Request Header Fields Too Large | Header request terlalu besar untuk diproses server. |
| 451 | Unavailable For Legal Reasons | Resource diblokir karena alasan hukum (misal sensor pemerintah). |
5xx – Server Error
Kode | Nama | Deskripsi |
|---|---|---|
| 500 | Internal Server Error | Terjadi error umum di server, biasanya karena bug atau exception yang tidak ditangani. |
| 501 | Not Implemented | Server belum mendukung fitur/method yang diminta. |
| 502 | Bad Gateway | Server sebagai gateway/proxy menerima response tidak valid dari server upstream. |
| 503 | Service Unavailable | Server sedang tidak bisa menangani request (overload atau maintenance). |
| 504 | Gateway Timeout | Server gateway/proxy tidak mendapat response tepat waktu dari server upstream. |
| 505 | HTTP Version Not Supported | Server tidak mendukung versi protokol HTTP yang dipakai client. |
| 506 | Variant Also Negotiates | Konfigurasi server bermasalah terkait content negotiation. |
| 507 | Insufficient Storage | Server kehabisan storage untuk menyelesaikan request (WebDAV). |
| 508 | Loop Detected | Server mendeteksi infinite loop saat memproses request (WebDAV). |
| 510 | Not Extended | Perlu ekstensi tambahan pada request agar bisa dipenuhi server. |
| 511 | Network Authentication Required | Client harus autentikasi dulu ke jaringan (misal login WiFi publik) sebelum akses internet. |