HTTP durum kodları

API ve CDN’lerde en sık görülen kodlar. Nadir deneysel kodlar yok.

Güncellendi:

KodAdAnlam
200OKGövdeli başarı
201OluşturulduKaynak oluşturuldu
204İçerik YokBaşarı, gövde boş
301Kalıcı olarak taşındıKalıcı yönlendirme
302BulunduGeçici yönlendirme
304DeğiştirilmediÖnbellekteki kopyayı kullan
400Geçersiz istekİstemci isteği geçersiz
401YetkisizKimlik doğrulama gerekli veya başarısız
403YasakKimlik doğrulandı ama reddedildi
404BulunamadıBöyle bir kaynak yok
405Yönteme izin verilmiyorYanlış HTTP yöntemi
408İstek zaman aşımıİstemci çok yavaş
409ÇatışmaDurum çatışması
410KaldırıldıKalıcı olarak kaldırıldı
422İşlenemeyen varlıkAnlamsal olarak geçersiz
429Çok fazla istekHız sınırı uygulanıyor
500Dahili sunucu hatasıSunucu arızası
502Hatalı ağ geçidiUpstream yanıtı geçersiz
503Hizmet kullanılamıyorAşırı yüklü veya kapalı
504Ağ geçidi zaman aşımıUpstream zaman aşımı

Notlar

Durum kodlarının beş sınıfı

İlk rakam, sorumluluğun kimde olduğunu ve kabaca ne olduğunu söyler. 1xx bilgilendirme amaçlıdır ve istemciler tarafından nadiren görülür. 2xx başarı anlamına gelir — 200 Tamam gövdeli, 204 İçerik Yok gövdesiz, 206 kısmi indirme için. 3xx, kaynağın başka yerde olduğunu belirtir. 4xx, isteğin kendisinin hatalı olduğunu gösterir: kötü sözdizimi, eksik kimlik bilgileri veya hız sınırı. 5xx, istek normal olmasına rağmen sunucunun başarısız olduğunu gösterir. Yalnızca ilk rakama bakmak bile istemciyi mi düzeltmeniz gerek yoksa sunucu tarafına mı yönlendirmeniz gerektiğini zaten söyler.

Doğru yönlendirmeyi seçmek

301 ve 308 kalıcı anlamındadır; 302 ve 307 geçici anlamındadır. Fark, yöntemin nasıl işlendiğidir: 301 ve 302 tarihsel olarak istemcilerin POST'u GET'e dönüştürmesine izin verirken, 307 ve 308 orijinal yöntemi ve göv tiêni korur; bu da API'ler ve form gönderimleri için önemlidir. Kalıcı olarak taşınmış bir URL için 301 kullanın, bakım sayfaları veya A/B testleri gibi geçici yönlendirme için 302 veya 307 kullanın. Zincirlerden kaçının — her ek atlama gecikme ve bağlantı değeri maliyeti doğurur, bu yüzden doğrudan nihai hedefe yönlendirin.

4xx hatalarını çözmek

401, kimlik doğrulamanın eksik olduğunu veya başarısız olduğunu gösterir, bu nedenle geçerli kimlik bilgileri gönderilmesi sorunu çözebilir; 403, isteğin anlaşıldığını ve doğrulandığını ancak izin verilmediğini gösterir ve aynı kimlik bilgileriyle yeniden denemek işe yaramaz. 404, kaynağın bulunmadığını gösterir; 410 var olduğunu ve bilinçli olarak kaldırıldığını işaret eder. 429, bir hız sınırına ulaştığınızı ve geri çekilmeniz gerektiğini, ayrıca herhangi bir Yeniden Dene üst bilgisini dikkate almanız gerektiğini gösterir. 400 genellikle hatalı girdi anlamına gelir, 405 yöntemin bu URL için yanlış olduğunu, 422 ise sözdiziminin geçerli ancak içeriğin doğrulamayı geçmediğini gösterir.

5xx kodlarını okumak

500 genel bir iç hatadır; 502 Kötü Ağ Geçidi, önde gelen bir sunucunun kullanılamaz bir şey döndürdüğünü belirtir; 503 hizmetin geçici olarak ulaşılabilir olmadığını veya aşırı yüklü olduğunu gösterir; 504 önde gelen bir sunucunun zaman aşımına uğradığını belirtir. Bunlar çağrıyanın değil sunucunun sorunudur, bu yüzden çözüm geri sayılı yeniden deneme, önde gelen sunucu sağlığını kontrol etme veya yükü azaltmaktır. Bir CDN, ulaşamadığı bir kaynaktan bahisle 502, 503 veya 504 hatası döndürebilir; bu yüzden aynı hata iki çok farklı kaynaktan gelebilir — hangisinin geldiğini bulmak için sunucu ve önbellek durum başlıklarına bakın.

Pratikte durum kodları: API'ler ve önbellekleme

İki günlük kullanım dikkat değer. İlki, önbellekleme: Cache-Control başlığıyla 200 saklanabilir, 304 Değiştirilmemiş istemciye kopyasını yeniden kullanmasını söyler ve 5xx önbelleğe alınmamalıdır. İkincisi, API'ler: kaynak oluşturan bir POST 201 ve bir Location başlığı döndürmelidir, DELETE genellikle 204 döndürür ve hiçbir şey değiştirmeyen bir PATCH 200 veya 204 döndürebilir. İyi davranan istemciler önce sınıfa (2xx, 4xx, 5xx) sonra da tam koda göre dallanır; bu da yeniden deneme ve geri sayım mantığını basit ve öngörülebilir tutar.

Sık sorulan sorular

HTTP 403 ne anlama gelir?
403, sunucunun isteği anladığını ve kimliğini doğruladığını ancak kaynağa erişime izin vermediğini gösterir. 401’den farklı olarak yeniden giriş yapmak sorunu çözmez.
HTTP 301 ve 302 yönlendirmeleri arasındaki fark nedir?
301 kalıcı taşınma anlamına gelir; istemciler ve arama motorları artık yeni URL’yi kullanmalıdır. 302 geçicidir ve eski URL geçerli kalır.
HTTP 429 ne demek, nasıl çözülür?
429, istek sınırına ulaşıldığı anlamına gelir. İstekleri yavaşlatın ve sunucu gönderdiyse Retry-After başlığına uyun.

Kaynaklar