Ana içeriğe geç

HTTP Durum Kodu

İngilizcesi
HTTP Status Code
Okunuşu
eyç-ti-ti-pi steytıs kod

Günlük kullanımda iki ad da yaygın.

Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/http-status-code

Kısaca

HTTP durum kodu, sunucunun her yanıtla gönderdiği ve isteğin başarılı mı, başarısız mı olduğunu ya da ek işlem mi gerektirdiğini bildiren üç haneli sayıdır.

HTTP durum kodu (status code) nedir?

Her HTTP yanıtı, isteğe ne olduğunu özetleyen üç haneli bir sayı olan durum koduyla başlar. Tarayıcı, uygulama ya da betik, sayfayı göstermek, bir yönlendirmeyi izlemek veya bir hata görüntülemek gibi sonraki adıma karar vermek için bu sayıyı okur. Kodun yanında, insanlar için onu tanımlayan 404 Not Found gibi kısa bir açıklama ifadesi (reason phrase) de bulunur.

İlk hane her kodu beş sınıftan birine yerleştirir: 1xx bilgilendirme, 2xx başarı, 3xx yönlendirme, 4xx istemci hatası ve 5xx sunucu hatası. Yaygın örnekler arasında 200 OK, 201 Created, 301 Moved Permanently, 304 Not Modified, 400 Bad Request, 404 Not Found, 429 Too Many Requests, 500 Internal Server Error ve 503 Service Unavailable bulunur. Kodlar HTTP spesifikasyonunda (RFC 9110) tanımlıdır; böylece her istemci ve sunucu onları aynı şekilde yorumlar.

Durum kodları, kargo şirketinin bıraktığı kısa notlara benzer: teslim edildi, yeni adrese taşındı, adres yanlış ya da depo kapalı. En yararlı ayrım son iki sınıf arasındadır: 4xx kodu istemcinin yanlış bir şey gönderdiği ve isteği değiştirmesi gerektiği anlamına gelir; 5xx kodu ise istek doğru olsa bile sunucunun başarısız olduğunu gösterir.

Sık karıştırılan iki kod 401 Unauthorized ve 403 Forbidden'dır. Adına rağmen 401, örneğin bir oturum token'ı eksik veya süresi dolmuş olduğu için istemcinin kimliğinin doğrulanmadığı anlamına gelir; 403 ise sunucunun istemcinin kim olduğunu bildiği ama eyleme izin vermediği anlamına gelir. Bir diğer yaygın hata, gövdede hata mesajı olan bir 200 OK döndürmektir; bu, hataları istemcilerden, izleme araçlarından ve önbelleklerden gizler.

Önemli noktalar

  • Her HTTP yanıtı üç haneli bir durum kodu içerir.
  • İlk hane sınıfı verir: 1xx bilgi, 2xx başarı, 3xx yönlendirme, 4xx istemci hatası, 5xx sunucu hatası.
  • 4xx hatası isteğin değişmesi gerektiği; 5xx hatası ise sunucunun başarısız olduğu anlamına gelir.
  • 401 kimliğin doğrulanmadığını, 403 ise doğrulandığı ama izin verilmediğini gösterir.
  • API'ler her yanıt için 200 OK yerine doğru kodları döndürmelidir.

Örnek

fetch ile durum kodlarını işlemekjavascript
// Check the status code before using the response
const response = await fetch("https://api.example.com/users/42");

if (response.ok) {                  // true for any 2xx status
  const user = await response.json();
  console.log(user.name);
} else if (response.status === 404) {
  console.log("User not found");
} else if (response.status >= 500) {
  console.log("Server error, try again later");
} else {
  console.log(`Request failed with status ${response.status}`);
}

Sık sorulan sorular

401 ile 403 arasındaki fark nedir?

401 Unauthorized, isteğin geçerli bir kimlik doğrulaması içermediği anlamına gelir; istemci oturum açmalı ya da geçerli bir token göndermelidir. 403 Forbidden ise sunucunun istemcinin kim olduğunu bildiği ama o kullanıcının eylemi gerçekleştirmesine izin verilmediği anlamına gelir.

301 ile 302 yönlendirmesi arasındaki fark nedir?

301 Moved Permanently, tarayıcılara ve arama motorlarına kaynağın kalıcı olarak taşındığını, dolayısıyla bundan sonra yeni URL'yi kullanmaları gerektiğini bildirir. 302 Found ise geçici bir yönlendirmedir; istemciler ileride özgün URL'yi kullanmaya devam etmelidir.

500 hatası ne anlama gelir?

500 Internal Server Error, sunucunun kodundaki yakalanmamış bir istisna gibi sunucuda bir şeylerin ters gittiğini bildiren genel bir koddur. Sorun sunucu tarafındadır; bu yüzden düzeltme genellikle kullanıcı tarafından değil, orada yapılmalıdır.

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar