Http Durum Kodları (Tüm Liste)
Herhangi bir internet sitesine giriş yaptığınızda ve 404, 403 veya 301 hatasıyla karşılaştığınızda, bunların ne anlama geldiğini merak ediyorsanız; bilin ki bu kodlar, kullanıcıdan veya sunucudan kaynaklanan mesajlardır. Aşağıda tüm listeye değindim.
🟢 1xx – Bilgilendirme Mesajları

Geçici yanıtlar. Sunucunun isteği aldığını ve işlemeye devam ettiğini bildirir ve genelde kullanıcı görmez.
- 100 Continue → Sunucu, isteğin başlangıcını aldı ve istemci geri kalan kısmı göndermeye devam edebilir. (Devam et.)
- 101 Switching Protocols → Sunucu, istemcinin protokol değiştirme talebini kabul etti. (Protokol değiştirildi.)
- 102 Processing → WebDAV: İstek alındı, işlem devam ediyor. (İşlem sürüyor.)
- 103 Early Hints → Sayfa tam yüklenmeden önce bazı başlıklar iletilebilir. (Ön bilgi veriliyor.)
✅ 2xx – Her Şey Yolunda

İsteğin başarılı bir şekilde alındığını, anlaşıldığını ve işlendiğini belirtir.
- 200 OK → İstek başarıyla tamamlandı.
- 201 Created → Yeni kaynak başarıyla oluşturuldu.
- 202 Accepted → İstek kabul edildi ancak henüz işlenmedi.
- 203 Non-Authoritative Information – Bilgi üçüncü bir kaynaktan alınmıştır.
- 204 No Content → Başarıyla işlendi, ancak içerik yok.
- 205 Reset Content → İstemcinin form gibi girdileri sıfırlaması gerekir. (“İşlem bitti, sayfayı sıfırla.”)
- 206 Partial Content → Kaynağın bir kısmı başarıyla iletildi (örneğin Range isteğiyle). (örneğin video ortasından başlatma gibi).”
- 207 Multi-Status – Birden fazla durum kodu içeriyor.
- 208 Already Reported – Durum daha önce bildirildi.
- 226 IM Used – İstek, kaynak üzerinde yapılan değişiklikleri içeriyor.
🔁 3xx – Yönlendirme

İstemcinin başka bir kaynağa yönlendirilmesi gerekir.
- 300 Multiple Choices – Birden fazla yanıt mevcut, seçim yapılması gerekir.
- 301 Moved Permanently → Kaynak kalıcı olarak taşındı.
- 302 Found (Geçici Yönlendirme) → Kaynak geçici olarak başka bir yerde bulunuyor.
- 303 See Other → Kaynak farklı bir URI’de bulunabilir, GET yöntemiyle erişilmelidir.
- 304 Not Modified → Kaynak değişmemiştir; önbellekteki sürüm kullanılabilir. (“Bir şey değişmedi, önceden aldığın sürümü kullanabilirsin.”)
- 305 Use Proxy → Kaynağa vekil sunucu proxy aracılığıyla erişilmelidir (Günümüzde önerilmez).
- 306 (Unused) – Kullanılmıyor.
- 307 Temporary Redirect → Kaynak geçici olarak başka bir URI’de; aynı yöntemle istek tekrar edilmelidir.
- 308 – Kalıcı Yönlendirme (Permanent Redirect) → Kaynak kalıcı olarak taşınmıştır; aynı yöntemle istek yönlendirilmelidir.
🚫 4xx – Senlik Bir Sorun Var

(Kullanıcıdan kaynaklı hatalar.) (İstek geçersizdir veya işlenemez.)
- 400 Bad Request → “Gönderdiğin istek bozuk. Ne demek istediğini anlayamadım.” (Geçersiz istek.)
- 401 Unauthorized → Kimlik doğrulaması gerekli. (Giriş yapmalısın.)
- 402 Payment Required → (Rezerv) Ödeme gereklidir. (Pek kullanılmaz.)
- 403 Forbidden → Erişim yetkisi yok.
- 404 Not Found → “Aradığın şey yok. Silinmiş olabilir ya da hiç olmamış.”
- 405 Method Not Allowed → “Bu yöntemi burada kullanamazsın.” (HTTP yöntemi desteklenmiyor.)
- 406 Not Acceptable → “İstediğin formatı sunamıyorum.” (Yanıt istemcinin kabul edebileceği biçimlerde değil.)
- 407 Proxy Authentication Required → “Bir proxy üzerinden bağlanıyorsan, oraya da giriş yapman gerek.” (Proxy kimlik doğrulaması gerekli.)
- 408 Request Timeout → Sunucu, isteği zamanında almadı.
- 409 Conflict → “İstek çakışıyor, bir şeyler uyuşmuyor.” (İstek mevcut durumla çelişiyor.)
- 410 Gone → “Bu sayfa eskiden vardı ama artık tamamen silindi.” (Kaynak kalıcı olarak erişilemez durumda.)
- 411 Length Required → İçerik uzunluğu belirtilmelidir.
- 412 Precondition Failed → “Ön koşul sağlanmadı, işlem olmaz.” (Ön koşul başarısız.)
- 413 Payload Too Large → “Gönderdiğin veri çok büyük.” (İstek gövdesi çok büyük.)
- 414 URI Too Long → URL çok uzun.
- 415 Unsupported Media Type → Desteklenmeyen medya türü.
- 416 Range Not Satisfiable → Belirtilen aralık uygun değil.
- 417 Expectation Failed → “Beklentini karşılayamıyorum.” (
Expect
başlığı başarısız oldu.) - 418 I’m a teapot → ☕ “Ben bir çaydanlığım. Kahve yapamam.” (Şaka amaçlıdır, gerçek değil.) (Mizahi amaçlı hata kodu (RFC 2324).
- 421 Misdirected Request – Yanlış yönlendirilmiş istek.
- 422 Unprocessable Entity → Anlaşıldı ancak işlenemiyor (genelde form/veri hatası).
- 423 Locked – Kaynak kilitli.
- 424 Failed Dependency – Bağımlılık hatası.
- 425 Too Early – Çok erken istek.
- 426 Upgrade Required – Protokol yükseltmesi gerekli.
- 428 Precondition Required – Ön koşul gerekli.
- 429 Too Many Requests → Çok fazla istek gönderildi, sınır aşıldı.
- 431 Request Header Fields Too Large – Başlık alanları çok büyük.
- 451 Unavailable For Legal Reasons – Hukuki nedenlerle erişilemez.
💥 5xx – Benden Kaynaklı Sorunlar

İstek geçerli olabilir, ancak sunucu tarafında hata oluşmuştur.
- 500 Internal Server Error → Genel sunucu hatası.
- 501 Not Implemented → İstek desteklenmiyor.
- 502 Bad Gateway → Geçersiz yanıt alındı.
- 503 Service Unavailable → Sunucu geçici olarak hizmet dışı.
- 504 Gateway Timeout → “Bağlandığım yerden zamanında cevap gelmedi.” (Yanıt süresi aşıldı.)
- 505 HTTP Version Not Supported → HTTP sürümü desteklenmiyor.
- 506 Variant Also Negotiates – İçerik seçimi sırasında hata oluştu (nadir görülür).
- 507 Insufficient Storage → Depolama alanı yetersiz.
- 508 Loop Detected – Sonsuz döngü algılandı (WebDAV protokolü için).
- 510 Not Extended – Gerekli uzantılar sağlanmadı.
- 511 Network Authentication Required → Ağ erişimi için kimlik doğrulama gerekli.
Bunların yaklaşık 40-45 tanesi uygulamalarda ve web’de anlamlı şekilde kullanılır.
Tam RFC belgelerinde 60+ http durum kodları vardır, ancak bunların çoğu özel durumlar içindir ve çok nadir karşımıza çıkar.