HTTP durum kodları
API ve CDN’lerde en sık görülen kodlar. Nadir deneysel kodlar yok.
| Kod | Ad | Anlam |
|---|---|---|
| 200 | OK | Gövdeli başarı |
| 201 | Oluşturuldu | Kaynak oluşturuldu |
| 204 | İçerik Yok | Başarı, gövde boş |
| 301 | Kalıcı olarak taşındı | Kalıcı yönlendirme |
| 302 | Bulundu | Geçici yönlendirme |
| 304 | Değiştirilmedi | Önbellekteki kopyayı kullan |
| 400 | Geçersiz istek | İstemci isteği geçersiz |
| 401 | Yetkisiz | Kimlik doğrulama gerekli veya başarısız |
| 403 | Yasak | Kimlik doğrulandı ama reddedildi |
| 404 | Bulunamadı | Böyle bir kaynak yok |
| 405 | Yönteme izin verilmiyor | Yanlış HTTP yöntemi |
| 408 | İstek zaman aşımı | İstemci çok yavaş |
| 409 | Çatışma | Durum çatışması |
| 410 | Kaldırıldı | Kalıcı olarak kaldırıldı |
| 422 | İşlenemeyen varlık | Anlamsal olarak geçersiz |
| 429 | Çok fazla istek | Hız sınırı uygulanıyor |
| 500 | Dahili sunucu hatası | Sunucu arızası |
| 502 | Hatalı ağ geçidi | Upstream yanıtı geçersiz |
| 503 | Hizmet kullanılamıyor | Aşırı yüklü veya kapalı |
| 504 | Ağ geçidi zaman aşımı | Upstream zaman aşımı |
Notlar
- 401 ve 403: eksik/başarısız kimlik bilgisi ile giriş yapılmış ama yetkisiz.
- Kaynak sunucuya ulaşılamazsa CDN 5xx döndürebilir.
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.