HTTP Durum Kodları (Status Codes)
HTTP (Hypertext Transfer Protocol), web tarayıcıları ve sunucular arasındaki iletişimi düzenleyen bir protokoldür. HTTP durum kodları, bir web sunucusunun bir isteği başarıyla işleyip işlemediğini veya bir hata olup olmadığını belirlemek için kullanılır. Her HTTP yanıtının başında bir status kodu bulunur ve bu kod, tarayıcının veya istemcinin, sunucudan gelen yanıtı nasıl işlemesi gerektiğini belirtir.
HTTP durum kodları üç haneli sayılardır ve gruplara ayrılır. Çok fazla sayıda olmasına rağmen, burada en sık karşılaşılanlara göz atacağız:
🔵 1xx — Bilgi (Informational)
İsteğin alındığını ve işlenmeye başlandığını belirtir.
- 100 Continue: İstemci, sunucuya bir isteğin devam etmesini beklediğini belirtir.
🟢 2xx — Başarı (Successful)
İsteğin başarıyla işlendiğini belirtir.
- 200 OK: İstek başarıyla işlendi.
- 201 Created: İstek sonucunda yeni bir kaynak oluşturuldu.
- 204 No Content: İstek başarıyla işlendi, ancak yanıtta içerik yok.
🟡 3xx — Yönlendirme (Redirection)
İsteğin tamamlanabilmesi için ek işlemler gerektiğini belirtir.
- 301 Moved Permanently: Kaynak kalıcı olarak başka bir konuma taşındı.
- 302 Found (veya Moved Temporarily): Kaynak geçici olarak başka bir konuma taşındı.
🟠 4xx — İstemci Hatası (Client Error)
İstemci tarafından gönderilen isteğin hatalı olduğunu belirtir.
- 400 Bad Request: Sunucu, isteği anlamıyor veya işleyemiyor.
- 401 Unauthorized: Kimlik doğrulama gerekiyor veya yetkilendirme başarısız.
- 403 Forbidden: İstemci, kaynağa erişim izni yok.
- 404 Not Found: İstenen kaynak bulunamadı.
🔍 401 ve 403’e Özellikle Dikkat:
- 401 Unauthorized: “Kullanıcı adı veya şifre hatalı” veya “Erişmek istediğiniz sayfayı görmek için giriş yapmalısınız.”
- 403 Forbidden: Kullanıcı giriş yapmış olsa bile, örneğin
user
rolündeki biriadmin
sayfasını görmek istediğinde sunucu tarafından döndürülen durum kodudur.
🔴 5xx — Sunucu Hatası (Server Error)
Sunucu tarafında bir hata olduğunu belirtir.
- 500 Internal Server Error: Sunucu, isteği yerine getiremedi ve genel bir hata oluştu.
- 503 Service Unavailable: Sunucu geçici olarak hizmet veremiyor.
Bu status kodları, tarayıcıya veya istemciye yapılan HTTP isteğinin sonucunu anlamak için bilgi sağlar. İstemci, bu kodlara göre uygun aksiyonları alabilir: kullanıcıya hata mesajı göstermek, tekrar denemek veya başka bir kaynağa yönlendirmek gibi.
Bir sonraki yazımızda görüşmek üzere!