HTTP Durum Kodları
Herhangi bir HTTP durum kodunu ara (1xx–5xx). Anlamı, yaygın sebepleri ve RFC referansı.
Bu ne işe yarar?
HTTP durum kodları bir sunucunun istemciye isteğin nasıl gittiğini söylemek için geri gönderdiği üç basamaklı sayılardır. Beş aileye gruplanırlar: 1xx (bilgi), 2xx (başarı), 3xx (yönlendirme), 4xx (istemci hatası), 5xx (sunucu hatası). Çoğu geliştirici manşet kodlarını bilir — 200, 301, 404, 500 — ama uzun kuyruk (409 Conflict, 422 Unprocessable, 504 Gateway Timeout) gerçek hataların yaşadığı yerdir. Bu araç anlamları ve her birinin tanımlandığı RFC ile tam listeyi verir.
Ne zaman kullanılır
- Tanımadığın bir kod döndüren bir API doc okuma (425? 451?).
- Kendi API'nden döndürülecek doğru kodu seçme — 404 mü 410 mu, 401 mi 403 mü, 422 mi 400 mü.
- Bir 502/504'ü teşhis etme — upstream çöktü mü yoksa sadece yavaş mı?
- 200-with-an-error-body mı gerçek bir 4xx mi doğru hamle olduğunu çözme.
- Bir kod incelemesi veya tasarım belgesi için RFC referansını arama.
Sık yapılan hatalar
- 401 kimlik doğrulanmadı, 403 yetkili değil anlamına gelir. Adlar yanıltıcıdır — 401 "kim olduğunu bilmiyorum" der, 403 "kim olduğunu biliyorum ve buna sahip olamazsın" der. Sadece yeniden kimlik doğrulama yardımcı olmayacaksa 403 kullan.
- 302 method-belirsizdir. Tarayıcılar tarihsel olarak 302 yönlendirmesinde POST→GET değiştirdi. Açık olmak için 307 (method'u korur) veya 303 (her zaman GET) kullan.
- 404, 410 değildir. 404 = "bilmiyorum"; 410 = "biliyorum ve sonsuza kadar gitti". Arama motorları URL'yi düşürmeli olduğunda 410 kullan.
- 200 ile hata gövdesi "RESTful" değildir. İstek kaynak seviyesinde başarısız olduysa, gövdedeki hatayla bir 4xx döndür.
- 418 bir şakadır. I'm-a-teapot'u production'da kullanma — istemciler ve proxy'ler tutarsız ele alır.
- RFC 9110, RFC 7231/7232/7233/7234/7235'in yerini alır. Spec'i alıntılarsan, özellikle daha eski bir sürüme ihtiyacın olmadıkça 9110 (Haziran 2022) kullan.