HTTP status kodları açıklandı: 200, 404, 502 izleme için ne anlama gelir
· 6 dk okuma
HTTP status kodu sunucunun yanıtıdır: 2xx OK, 3xx redirect, 4xx istemci hatası, 5xx sunucu hatası. Ne anlama gelirler ve izlemede hangisini takip etmeli.
Yanıt kategorileri
- 1xx Informational - geçici yanıtlar, istemci genellikle fark etmez.
- 2xx Success - istek başarıyla tamamlandı. 200 OK varsayılandır.
- 3xx Redirection - istemci başka yere gitmeli. 301 kalıcı, 302 geçici.
- 4xx Client errors - istemci yanlış bir şey gönderdi. 404, 401, 403, 429.
- 5xx Server errors - sunucu başarısız oldu. 500, 502, 503, 504.
2xx: başarı
200 OK - standart OK yanıtı. İzlediğiniz "healthy" durum budur.
201 Created - genellikle yeni bir resource oluşturan bir POST'a verilen yanıt. API istemcileri bunu bekler.
204 No Content - başarı, ancak sunucunun döndürecek bir şeyi yok. DELETE endpoint'leri sıkça kullanır.
206 Partial Content - sunucu yalnızca bir parça döndürdü (range request). Video streaming veya sürdürülebilir indirmelerde.
3xx: yönlendirme
301 Moved Permanently - URL kalıcı olarak değişti. Google SEO equity'i yeni URL'ye taşır. Domain göçünde, HTTP'den HTTPS'ye geçişte veya www/non-www geçişinde kullanın.
302 Found / 307 Temporary Redirect - geçici yönlendirme. Google ranking'i taşımaz. A/B testing, bakım veya URL zamanla geri geleceğinde kullanın.
308 Permanent Redirect - 301 gibi, ancak HTTP metodunu korur (POST yine POST kalır). 301'de istemci metodu GET'e dönüştürebilir.
304 Not Modified - istemcinin cache'i var, sunucu içeriğin değişmediğini onaylar. Bandwidth tasarrufu sağlar.
İzleme için: 3xx yanıtlarını kontrol ederken monitor'un yönlendirmeyi takip mi etmesi (follow) yoksa hata olarak mı kabul etmesi gerektiğini yapılandırın. Bazı DNS hijack saldırıları beklenmedik 302 olarak ortaya çıkar.
4xx: istemci tarafı hatası
400 Bad Request - istekte sözdizimi hatası. Malformed JSON, eksik header vb.
401 Unauthorized - eksik veya hatalı credentials. İstemci kimlik doğrulaması yapmalı.
403 Forbidden - istemci kimlik doğrulamış ama izni yok. Dikkat: bazı sunucular güvenlik nedeniyle 401 yerine 403 döner (resource'un var olduğunu açığa çıkarmamak için).
404 Not Found - URL yok. İzlenen sayfaların uptime izlemesinde 404 bir uyarıdır (sayfa kayboldu); dışarıdan gelen ziyaretçilerin rastgele 404'leri ise daha çok bir SEO sorunudur (link equity sızar).
405 Method Not Allowed - URL var ama verilen metodu kabul etmiyor (örn. GET bekleyen bir endpoint'e POST).
408 Request Timeout - sunucu isteği çok bekledi ve bağlantıyı kapattı.
409 Conflict - istek mevcut durumla çatışıyor (örn. artık güncel olmayan bir sürümün update'i).
410 Gone - resource kalıcı olarak kaldırıldı. Google için 404'ten daha iyi (yeniden indexlemeye çalışmama sinyali).
422 Unprocessable Entity - istek sözdizimsel olarak OK ama anlamsal olarak geçersiz veri içerir (failed validation).
429 Too Many Requests - rate limit. İstemci yavaşlamalı. Sunucu tipik olarak bir Retry-After header ekler.
5xx: sunucu tarafı hatası
500 Internal Server Error - jenerik hata. Backend, uygulamanın yakalamadığı bir exception fırlattı. İzleme için her zaman alarm.
501 Not Implemented - sunucu HTTP metodunu bilmiyor (örn. eski bir sunucu PATCH desteklemiyor).
502 Bad Gateway - reverse proxy (nginx, Cloudflare) backend sunucudan yanıt almadı. Tipik olarak backend düştü veya timeout oldu.
503 Service Unavailable - sunucu aşırı yüklü veya bakımda. Sıklıkla bir Retry-After header ile. Bu planlı bir yanıttır, crash değil.
504 Gateway Timeout - reverse proxy backend'i timeout'tan daha uzun bekledi. Backend genellikle hâlâ çalışıyor, sadece yavaş yanıt veriyor.
520-525 Cloudflare errors - Cloudflare'e özgü. 520 = backend okunamaz bir şey döndürdü, 522 = backend yanıt vermedi (connection timeout), 524 = backend çok yavaş yanıt verdi (origin timeout).
Alerting için pratik kurallar
- Anında uyarı: 500, 502, 503 (gerçekten planlı bakım değilse), 504, herhangi bir timeout
- Tekrar üzerine uyarı: tek seferlik bir 5xx race condition olabilir; aynı endpoint 2x üst üste düşerse uyarı verin
- Yükseliş trendini izleyin: 4xx'in uzun vadeli büyümesi broken link, scraper attack veya bozuk frontend anlamına gelebilir
- Alerting için yoksayın: beklenen aralıktaki 200-399 (kod yerine yanıt süresini izleyin)
Durum kodu + yanıt süresi = tam görüntü
Yalnızca status kodunu izlemek yetmez - sunucu 200 dönebilir ama 30 saniyede, ki bu müşteri açısından bir kesintidir. Kaliteli izleme şunları birleştirir:
- Beklenen status kodu (tipik olarak 200)
- Maksimum yanıt süresi (tipik olarak 5-10 saniye)
- İçerikte anahtar kelime eşleşmesi (HTML'de bulunması gereken bir anahtar kelime)
- SSL geçerli ve bitiş tarihine yakın değil
Bunlardan herhangi birinin başarısızlığı = uyarı.
Hassas hata sınıflandırması ile izleme
ePulz.io durum kodu, yanıt süresi, anahtar kelime eşleşmesi ve SSL durumunu ayırt eder. Her kontrol için ayrıntılı loglar mevcuttur.
ePulz.io'yu ücretsiz deneyin - 7 gün, kredi kartı gerekmez.
Hesap oluştur