HTTP durum kodları, istemci (örneğin tarayıcı) ile sunucu arasındaki iletişimde hangi tür sorunların yaşandığını anlamak için kullanılır. Web geliştiriciler, bu durum kodlarını kullanarak hata ayıklama ve kullanıcı deneyimini iyileştirme süreçlerinde rehberlik alabilirler. Her durum kodu, belirli bir durumu veya hatayı ifade eder ve genellikle istemcilerin (örneğin tarayıcıların) nasıl tepki göstereceğini belirler.
1xx – Bilgi Durumları
-
- 100 – Continue: Sunucu, istemcinin bir isteği başarılı bir şekilde aldığını ve işlemeye devam edeceğini belirtir.
- 101 – Switching Protocols: Sunucu, istemcinin protokol değişikliğini kabul ettiğini bildirir.
2xx – Başarılı İşlemler
-
- 200 – OK: En yaygın durum kodlarından biri olan bu kod, isteğin başarıyla tamamlandığını ve sunucunun doğru yanıt verdiğini gösterir.
- 201 – Created: İstek, yeni bir kaynak oluşturulduğunda veya eklendiğinde kullanılır.
- 202 – Accepted: İstek, işleme alındı ancak tamamlanmamış durumda. İşlemin tamamlanması başka bir zamanda gerçekleşecek.
- 204 – No Content: Sunucu, isteğin başarılı olduğunu ancak içerik göndermediğini belirtir.
- 205 Reset Content: İstemcinin istemci tarafındaki içeriği sıfırlamasını gerektirir.
- 206 Partial Content: İsteklenen içeriğin bir kısmı döndürülür.
3xx – Yönlendirmeler
-
- 301 – Moved Permanently: İstenen kaynak kalıcı olarak başka bir URI’ye taşındı.
- 302 – Found (Previously “Moved Temporarily”): Kaynak geçici olarak başka bir URI’ye taşındı. (Bazı durumlarda 303 veya 307 kullanımı daha uygundur.)
- 303 – See Other: İstemcinin bir GET isteği yapması gerektiğini gösterir.
- 304 – Not Modified: Cevap, önbellekteki içeriğin güncel olduğunu ve tekrar indirme gerektirmediğini gösterir.
- 307 Temporary Redirect: Kaynak geçici olarak başka bir yere taşındı ve istemci, istenen kaynağı almak için o kaynağa GET isteği göndermelidir.
4xx – İstemci Hataları
-
- 400 – Bad Request: Sunucu, isteği anlamıyor veya işleyemiyor.
- 401 – Unauthorized: Kaynağa erişmek için kimlik doğrulaması gerektiğini gösterir.
- 403 – Forbidden: Sunucu, isteği reddetti çünkü kaynağa erişim izni yok.
- 404 – Not Found: İstenen kaynak bulunamadı.
- 405 Method Not Allowed: İstemci, istenen yöntemi kullanmak için yetkilendirilmedi.
- 406 Not Acceptable: Sunucu, istemcinin kabul ettiği formatta yanıtı döndüremiyor.
- 407 Proxy Authentication Required: İstemci, proxy’den geçmek için yetkilendirilmelidir.
- 408 Request Timeout: İstemci, isteğini zamanında göndermedi.
- 409 Conflict: İstek, mevcut verilerle çelişiyor.
- 410 Gone: Kaynak kalıcı olarak kaldırıldı.
- 411 Length Required: İstemci, istek için bir içerik uzunluğu belirtmelidir.
- 412 Precondition Failed: İstek, belirtilen önkoşulları karşılamıyor.
- 413 Request Entity Too Large: İstek, sunucunun kabul edebileceğinden daha büyük.
- 414 Request URI Too Long: İstek URI’si, sunucunun kabul edebileceğinden daha uzun.
- 415 Unsupported Media Type: İstek, sunucunun desteklemediği bir medya türü içeriyor.
- 416 Requested Range Not Satisfiable: İstemci, istenen aralığı döndüremiyor.
- 417 Expectation Failed: İstek, belirtilen beklentileri karşılamıyor.
5xx – Sunucu Hataları
-
- 500 – Internal Server Error: Sunucu işleme hatası ile karşılaştı ve isteği yerine getiremedi.
- 501 – Not Implemented: Sunucu, istenen işlevi desteklemiyor veya gerçekleştiremiyor.
- 503 – Service Unavailable: Sunucu geçici olarak hizmet veremiyor. Genellikle aşırı yüklenme veya bakım nedeniyle oluşur.
- 504 Gateway Timeout: Köprü, hedef sunucudan yanıtı zamanında alamadı.
- 505 HTTP Version Not Supported: Sunucu, istemcinin kullandığı HTTP sürümünü desteklemiyor.
- 506 Variant Also Negotiates: Köprü, istemciden gelen isteği hedef sunucuya iletemez çünkü hedef sunucu, istemcinin kabul ettiği varyantları desteklemiyor.
- 507 Insufficient Storage: Sunucu, isteği işlemek için yeterli depolama alanına sahip değil.
- 508 Loop Detected: Köprü, istemciden gelen isteği hedef sunucuya iletemez çünkü bir döngü tespit etti.
- 510 Not Extended: Sunucu, istemcinin kullandığı genişletmeyi desteklemiyor.
- 511 Network Authentication Required: İstemci, ağı kullanmak için yetkilendirilmelidir.