WordPress, yazılım ve IT üzerine notlar
Anasayfa » Ağ & DNS » HTTP durum kodları rehberi: 200'den 504'e hangi kod ne anlatır?

HTTP durum kodları rehberi: 200'den 504'e hangi kod ne anlatır?

İçindekiler
  1. 2xx: Başarılı
  2. 3xx: Yönlendirme
  3. 4xx: İstemci hataları
  4. 5xx: Sunucu hataları
  5. CDN'e özgü kodlar
  6. Toplu kontrol

Tarayıcınız bir sayfa istediğinde sunucu, sayfanın kendisinden önce üç haneli bir sayı gönderir. Bu sayı, isteğin sonucunu özetler. Çoğu zaman görmezsiniz, çünkü cevap 200'dür ve sayfa açılır. Ama bir şeyler ters gittiğinde bu sayı, sorunun nerede olduğuna dair en hızlı ipucudur.

Bir adresin durum kodunu görmek için:

curl -sI https://ornek.com/sayfa | head -1

İlk hane kodun sınıfını belirler:

  • 1xx: Bilgi (nadiren görürsünüz)
  • 2xx: Başarılı
  • 3xx: Yönlendirme
  • 4xx: İstemci tarafında hata (istek hatalı ya da izin yok)
  • 5xx: Sunucu tarafında hata

2xx: Başarılı

  • 200 OK: İstek başarılı, içerik gönderildi.
  • 201 Created: Yeni bir kaynak oluşturuldu. API'lerde, örneğin yeni bir sipariş kaydedildiğinde kullanılır.
  • 204 No Content: İşlem başarılı ama gönderilecek içerik yok. Silme işlemlerinde sık görülür.

3xx: Yönlendirme

  • 301 Moved Permanently: Sayfa kalıcı olarak yeni bir adrese taşındı. Arama motorları eski adresin değerini yenisine aktarır. Alan adı değişikliği, HTTP'den HTTPS'e geçiş ve kalıcı adres değişiklikleri için doğru kod budur.
  • 302 Found: Geçici yönlendirme. Arama motorları eski adresi dizinde tutmaya devam eder. Kalıcı bir taşımada yanlışlıkla 302 kullanmak, SEO açısından sık yapılan bir hatadır.
  • 304 Not Modified: Tarayıcının önbelleğindeki kopya hâlâ güncel, yeniden indirmeye gerek yok. Normal ve iyi bir durumdur.
  • 307 / 308: 302 ve 301'in, istek yöntemini (örneğin POST) koruyan modern karşılıkları.

Yönlendirme zincirlerinden kaçının. http://ornek.com → https://ornek.com → https://www.ornek.com gibi zincirler her adımda gecikme ekler. Mümkünse tek adımda son adrese gidin.

4xx: İstemci hataları

  • 400 Bad Request: İstek bozuk ya da anlaşılamıyor. Çok büyük çerezler, hatalı biçimlendirilmiş bir istek ya da API'ye gönderilen geçersiz JSON bu hataya yol açabilir.
  • 401 Unauthorized: Kimlik doğrulaması gerekiyor ama yapılmamış ya da başarısız olmuş. Adındaki "unauthorized" kelimesine rağmen aslında "kim olduğunu bilmiyorum" anlamına gelir.
  • 403 Forbidden: Kim olduğunuz biliniyor (ya da önemli değil), ama bu kaynağa erişim izniniz yok. Web sitelerinde en sık sebepleri: dosya ve klasör izinleri, .htaccess içindeki bir engelleme kuralı, güvenlik duvarı ya da ModSecurity gibi bir web uygulama güvenlik duvarının isteği engellemesi.
  • 404 Not Found: Bu adreste bir şey yok. Silinmiş sayfalar, yanlış yazılmış adresler ve bozuk kalıcı bağlantılar bu kodu döndürür. Yayından kaldırdığınız önemli sayfaları ilgili yeni sayfalara 301 ile yönlendirin.
  • 405 Method Not Allowed: Adres var ama bu yöntemle (örneğin GET yerine POST) kullanılamıyor.
  • 410 Gone: Kaynak kalıcı olarak kaldırıldı ve geri gelmeyecek. Arama motorları bu sayfaları 404'e göre daha hızlı dizinden çıkarır.
  • 413 Content Too Large: Gönderilen veri çok büyük. Büyük dosya yüklemelerinde sık görülür. Web sunucusunun (client_max_body_size, LimitRequestBody) ya da PHP'nin (upload_max_filesize, post_max_size) sınırına takılmışsınızdır.
  • 429 Too Many Requests: Çok fazla istek gönderdiniz ve istek sınırına takıldınız. Biraz bekleyip tekrar deneyin.

5xx: Sunucu hataları

Bu kodlarda sorun sizin tarafınızda değil, sunucu tarafındadır. Ama hangi 5xx kodunun döndüğü, sorunun hangi katmanda olduğunu söyler.

  • 500 Internal Server Error: Uygulama beklenmeyen bir hatayla karşılaştı. PHP'de ölümcül bir hata, bozuk bir .htaccess dosyası ya da yanlış dosya izinleri en yaygın sebeplerdir. Bakılacak yer: web sunucusunun ve PHP'nin hata günlükleri.
  • 502 Bad Gateway: Önde duran sunucu (Nginx, bir CDN ya da yük dengeleyici), arkadaki sunucudan (PHP-FPM, Node.js uygulaması, Apache) geçersiz bir cevap aldı ya da hiç bağlanamadı. Çoğu zaman arkadaki servis durmuş ya da çökmüştür. Bakılacak yer: arkadaki servisin durumu (systemctl status php-fpm) ve günlükleri.
  • 503 Service Unavailable: Sunucu şu anda isteği karşılayamıyor. Bakım modu, aşırı yük ya da kaynak sınırına takılmış bir hosting hesabı bu kodu döndürür. Geçici bir durum olması beklenir.
  • 504 Gateway Timeout: Önde duran sunucu, arkadaki sunucudan zamanında cevap alamadı. Arkadaki servis çalışıyor ama çok yavaş. Uzun süren bir veritabanı sorgusu, dış bir API'nin cevap vermemesi ya da tükenmiş bir PHP-FPM havuzu tipik sebeplerdir.

502 ile 504 arasındaki fark teşhis için çok değerlidir: 502 "arkadaki servise ulaşamıyorum ya da bozuk cevap veriyor", 504 ise "arkadaki servis çalışıyor ama çok geç cevap veriyor" demektir.

CDN'e özgü kodlar

Cloudflare gibi CDN'ler kendi kodlarını da kullanır. Örneğin 521 "sunucunuz bağlantıyı reddetti", 522 "sunucunuza bağlantı zaman aşımına uğradı", 525 ise "SSL el sıkışması başarısız oldu" anlamına gelir. Bu kodları gördüğünüzde sorun CDN'de değil, CDN ile sizin sunucunuz arasındadır.

Toplu kontrol

Bir sitedeki bütün iç bağlantıların durum kodlarını görmek için bir tarama aracı (Screaming Frog gibi) ya da basit bir komut kullanılabilir:

while read u; do printf "%s %s\n" "$(curl -s -o /dev/null -w '%{http_code}' "$u")" "$u"; done < adresler.txt

Durum kodlarını okumayı öğrendiğinizde "site çalışmıyor" cümlesi, "PHP-FPM durmuş, 502 veriyor" gibi net bir teşhise dönüşür.

Tezcan Kabakçı
Hosting teknik destek uzmanı ve WordPress uzmanı. 2024'ten beri bir hosting şirketinde teknik destek bölümünde çalışıyor; WordPress, DNS ve e-posta sorunlarını her gün yakından görüyor. YouTube kanalı.
Bu yazı 27 Haziran 2026 tarihinde Ağ & DNS kategorisinde yayınlandı.
Yeni yazılar e-postanıza gelsin

Ayda birkaç e-posta; istediğiniz an tek tıkla ayrılabilirsiniz.

Videolu anlatımlar YouTube'da
Sunucu ve WordPress sorunlarını kısa videolarla anlattığım kanala abone olabilirsiniz. ▶ Kanala abone ol

Yorumlar

Henüz yorum yok. İlk yorumu siz yazın.

Yorum yazın

Yorumlar onaylandıktan sonra yayımlanır. Bağlantı içeren yorumlar spam olarak değerlendirilebilir.