Bloga geri dön

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.

HTTP status kodları açıklandı: 200, 404, 502 izleme için ne anlama gelir

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:

  1. Beklenen status kodu (tipik olarak 200)
  2. Maksimum yanıt süresi (tipik olarak 5-10 saniye)
  3. İçerikte anahtar kelime eşleşmesi (HTML'de bulunması gereken bir anahtar kelime)
  4. 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.

7 gün dene →

Paylaş: Bağlantı kopyalandı

ePulz.io'yu ücretsiz deneyin - 7 gün, kredi kartı gerekmez.

Hesap oluştur