HTTP durum kodu, sunucunun bir tarayıcının isteğine verdiği yanıttır. Bu durum kodları, bir tarayıcı web sitenizin sunucusuyla iletişim kurmaya çalıştığında ne olduğunu size söyler. Bu kodlar SEO ve web sitenizin genel sağlığı için son derece önemlidir. Bazen bir web sitesine girdiğinizde hata kodları ile karşılaşırsınız. Sayfa artık mevcut olmayabilir veya taşınmış olabilir. Tüm durum kodlarına ve web siteniz için ne anlama geldiklerine bu makaleden göz atabilirsiniz; başucu rehberiniz olması dileğiyle…

HTTP Durum Kodları Nedir?

HTTP Durum Kodları

Bir sayfa talep edilir edilmez, sunucu belirli bir kod aracılığıyla bir yanıt verir, buna “http durum kodu” denir. Ziyaretçi genellikle bu kodu görmez ancak web sitesine gelen botlar görür.

Durum kodlarını anlayarak ve kullanarak, web sitenizde bulunan hataları hızlı bir şekilde teşhis edebilirsiniz. Hatta bu http durum kodlarından bazılarını arama motorlarının ve insanların sitenize erişmesine yardımcı olması için kullanabilirsiniz.

Her üç basamaklı durum kodunun ilk basamağı 1’den 5’e kadar olan rakamlardan biriyle başlar; bu aralıktaki durum kodlarını belirtmek için bunu 1xx veya 5xx olarak düşünebilirsiniz. Bu aralıklarin her biri farklı bir sunucu yanıtı sınıfını kapsar.

Farklı Kategoriler

HTTP durum kodları 5 kategoriye ayrılır diyebiliriz:

  • 1XX: Şu anda sunucu hala kullanıcının isteğini işlemektedir.
  • 2XX: Bu kodlar sunucuya yapılan talebin iyi gittiğini gösterir, daha çok “başarı kodları” olarak bilinirler.
  • 3XX: Bu HTTP durum kodları bir yönlendirmenin gerçekleştirildiğini gösterir. Kullanıcıları başka bir sayfaya yönlendirirler.
  • 4XX: İstenen sayfa artık mevcut olmadığında veya ulaşılamadığında kullanıcılar, bu hata koduyla karşılaşır.
  • 5XX: Bu hata kodları sunucu tarafında sorun olduğunda geçerlidir. Kullanıcının isteği gönderilmiştir ancak sunucu bunu alamaz.

HTTP Durum Kodu Türleri Nelerdir?

Her durum kodunun farklı bir anlamı vardır.

HTTP Status Code: 200

Bu, sayfanız için ideal durum kodudur. Bir http durum kodu, sayfanızın düzgün çalıştığını gösterir. Ziyaretçiler, botlar ve bağlantılar ilgili sayfaları kolayca ziyaret edebilir. Sayfanızın http durum kodu 200 ise bir şey yapmanıza gerek yoktur.

HTTP Status Code: 301

301 durum kodu, kalıcı bir yönlendirme olduğu anlamına gelir. Bir URL’nin kalıcı olarak başka bir URL’ye yönlendirilmesi gerektiğinde 301 yönlendirmesi kullanırsınız. Sayfaya giden ziyaretçileri ve botların otomatik olarak yeni URL’ye yönlendirildiği anlamına gelir.

HTTP Status Code: 302

302 yönlendirmesi, geçici yönlendirme olduğu anlamına gelir.

302 durum kodu, tarayıcıya/arama botuna sayfanın var olduğunu bildirir, ancak hemen ardından otomatik olarak yönlendirilen bir konum verir. URL’nin var olduğunu belirtip ardından başka bir URL’ye yönlendirdiği için bağlantı değeri (pagerank) aktarılmaz.

HTTP Status Code: 403

Bu hata mesajı, erişimi yetkiniz olmayan yasak bir sayfaya gittiğinizde görüntülenir.

HTTP Status Code: 404

Bu, bir sayfanın bulunamadığı -mevcut olmadığı- anlamına gelir. Sayfa yeniden yönlendirilmezse, ziyaretçi 404 durum koduna sahip bir sayfaya ulaşacaktır.

HTTP Status Code: 410

410 durum kodu, Google’a bir sayfanın kalıcı olarak ve kasıtlı olarak kaldırıldığını bildirmenizi sağlar. 410 durum kodu, 404 durum kodunun bir tür geliştirilmiş halidir. 404 durum kodu ile 410 durum kodu arasındaki fark, 410 durum kodu ile Google’a sayfanın kasıtlı olarak kaldırıldığını ve arama sonuçlarından kaldırılabileceğini belirtir.

HTTP Status Code: 500

Bu, dahili bir sunucu hatası oluştuğu anlamına gelir. Sunucu hatası, 500 mesajında olduğu gibi belirli bir hata mesajı değildir, yalnızca bir şeylerin yanlış olduğunu gösterir, belirli neden belirsiz kalır.

HTTP Status Code: 503

503 hata mesajı, söz konusu sunucu kullanılamadığı için web sitenize şu anda erişilemediğini gösterir. Bunun nedeni, sunucunun çok meşgul olması, bakım altında olması veya analiz gerektiren başka bir şeyin devam ediyor olması olabilir.

Diğer Yaygın Olmayan HTTP Durum Kodları Nelerdir?

1XX: Bilgilendirici Kodlar

100 – Devam Et (Continue)

  • Bu bilgilendirici kod, her şeyin yolunda gittiğini ve istemcinin isteklere devam etmesi gerektiğini söyler. Bir isteğin ilk bölümü alınmış ve sunucu tarafından henüz reddedilmemiştir. Sunucu, istek tamamen işlendikten sonra nihai bir yanıt göndermeyi planlamaktadır.

101 – Protokol Değiştirme (Switching Protocols)

  • Bu bilgi kodu, sunucunun bir istemci tarafından talep edilen başka bir protokole geçtiğini gösterir.

102 – İşleniyor (Proccessing)

  • 102 HTTP durum kodu 100 koduna benzer. İstemciye sunucunun isteği kabul ettiğini ancak henüz tamamlamadığını bildirmek için kullanılan bir ara yanıttır.

103 – Erken İpuçları (Early Hints)

  • 103 HTTP durum kodu, tarayıcının “gerçek” sunucu yanıtı gönderilmeden önce bir ön yükleme aşaması başlattığını gösterir. Bu, web geliştiricilerinin Largest Contentful Paint (LCP) gibi Temel Web Değerlerini optimize etmelerini sağlar.

2XX: Başarılı Kodlar

200 – Tamam (OK)

  • Bu kod, sunucu isteği başarıyla aldığında ve işlediğinde uygulanır. Bu durum kodu, Google’ın tarayıcılarının web sitesini keşfetmesini kolaylaştırır. Bir sitede bu durum koduna sahip ne kadar çok sayfa varsa, web sitesinin kullanıcı deneyimi ve SEO’su için o kadar iyidir.

201 – Oluşturuldu (Created)

  • Bu kod, bir isteğin başarıyla yürütüldüğünü ve sonuç olarak bir “kaynak” oluşturulduğunu gösterir (örneğin, yeni bir web sayfası).

202 – Kabul Edildi (Accepted)

  • Talep işleme alınmak üzere kabul edildi, ancak işleme henüz tamamlanmadı. Şu anda herhangi bir sorun yoktur, ancak işlem gerçekten gerçekleştiğinde talep yine de reddedilebilir.

203 – Yetkili Olmayan Bilgi (Non-Authoritative Information)

  • 203 HTTP durum kodu bir HTTP proxy’si nedeniyle oluşabilir. Bir HTTP Proxy’si istemci ile sunucu (origin) arasında ortada yer alır. Bazı durumlarda, bir HTTP Proxy’si istemciye ulaşmadan önce “yanıtta” değişiklikler yapabilir, örneğin HTML veya formatta bir değişiklik yapabilir. Durum kodu bir değişiklik yapıldığını gösterir.

204 – İçerik Yok (No Content)

  • Bu HTTP durum kodu, isteğin başarılı olduğunu, ancak istemcinin mevcut sayfasından uzaklaşması gerekmediğini gösterir. Bu, örneğin bir web sitesinin “kaydet ve düzenlemeye devam et” işlevinde ortaya çıkabilir.

205 – İçeriği Sıfırla (Reset Content)

  • Sunucunun isteği başarıyla yürüttüğünü ve kullanıcı aracısının içeriği orijinal durumuna sıfırladığını belirtir. Örneğin, bir formun içeriğinin sıfırlanması.

206 – Kısmi İçerik (Partial Content)

  • Bu yanıt kodu, isteğin başarıyla yürütüldüğünü ve gövdenin, isteğin Aralık başlığında açıklandığı gibi istenen veri kümelerini içerdiğini gösterir. Örneğin, “Bana video verilerinin ilk 10 MB’ını ver

207 – Çoklu Durum (Multi-Status)

  • 207 Çoklu Durum kodu, birkaç işlemin gerçekleştiğini ve her bir işlemin durumunun yanıtın gövdesinde bulunabileceğini belirtir.

208 – Zaten Rapor Edildi (Already Reported)

  • WebDAV‘da kullanılır (DAV, İnternet’te HTTP protokolünün uzantısı olan bir protokoldür). Bir istemci kaynak talep ettiğinde, yanıt yinelenen kaynaklar içerebilir, HTTP durum kodu 208 “Already Reported” aynı yanıtın işlenmesini ve tekrarlanmasını önler.

226 – IM Kullanıldı (IM Used)

  • HTTP durum kodu 226, HTTP protokolünün belirli bir uzantısı tarafından kullanılır.

3XX: Yönlendirmeler

300 – Çoklu Seçenekler (Multiple Choices)

  • HTTP 300 Çoklu Seçenek yönlendirme durum yanıt kodu, isteğin birden fazla olası yanıtı olduğunu gösterir. Kullanıcı aracısı veya kullanıcı bunlardan birini seçmelidir.

301 – Kalıcı Olarak Taşındı (Moved Permanently)

  • 301 yönlendirmesi, bir web sayfası kalıcı olarak yeniden yönlendirildiğinde kullanılır. Yani, eski bir sayfa otomatik olarak yeni bir URL’ye yönlendirilir. Başka bir deyişle, kullanıcı A sayfasına sörf yaptığında otomatik olarak B sayfasına yönlendirilir.

302 – Bulundu (Temporary Redirect)

  • 301 HTTP durum kodunun aksine, 302 kalıcı olarak yeniden yönlendirilmez. URL’nin geçici olarak taşınması gerektiğinde 302 kullanılır. Ziyaretçi için ayrım fark edilmez; burada da A sayfası otomatik olarak B sayfasına yönlendirilir. Arama motorlarına bilgi vermek için kullanılır ve pagerank (sayfa gücü) yeni sayfaya aktarılmaz.

303 – Diğerlerini Gör (See Other)

  • Sunucu, kullanıcı aracısını başka bir kaynağa yönlendirir. 303 yönlendirmesi, bir istemciden POST verisi aldığınızda (örn. bir form gönderimi) ve onları yeni bir web sayfasına yönlendirmek istediğinizde kullanılır.

304 – Değiştirilmemiş (Not Modified)

  • 304 Değiştirilmedi HTTP durum kodu, tarayıcının depoladığı kaynakların (önbellek) son ziyaretinizden bu yana değişmediğini gösterir. Tarayıcınız daha sonra web sayfasının kaydedilmiş bir sürümünü önbelleğinden yükler. Bu, sitenin yüklenme hızı üzerinde olumlu bir etkiye sahiptir.

305 – Proxy Kullan (Use Proxy)

  • Bu durum kodu, istemci tarafından talep edilen kaynağa yalnızca bir proxy aracılığıyla erişilebileceği anlamına gelir ve proxy’nin adresi sunucunun yanıtında belirtilir.

306 – Proxy Değiştir (Switch Proxy)

  • Bu HTTP durum kodu artık kullanılmamaktadır.

307 – Geçici Yönlendirme (Temporary Redirect)

  • 307 Geçici Yönlendirme, URL’nin geçici olarak taşınması gerektiğinde kullanılır. 307 ve 302 yönlendirmesi arasındaki fark, 307’nin yönlendirme sırasında yöntem ve gövdenin değiştirilmeceğini garanti etmesidir.

308 – Kalıcı Yönlendirme (Permanent Redirect)

  • Bir web sayfasının kalıcı olarak yeniden yönlendirilmesi gerektiğinde 308-yönlendirmesi kullanılır. 308 yönlendirmeleri, tarayıcılar tarafından 301 yönlendirmeleri ile aynı şekilde ele alınır.

4XX: Hata Mesajları

400 – Hatalı İstek (Bad Request)

  • HTTP durum kodu “400 Bad Request”, örneğin istekteki bir hata nedeniyle sunucu bir isteği anlayamadığında ortaya çıkar.

401 – Yetkisiz (Unauthorized)

  • Http 401 durum kodu, hedef kaynak için geçerli kimlik doğrulama bilgileri eksik olduğundan isteğin gerçekleşmediğini gösterir. Genellikle kullanıcı kimlik bilgileri gerektiren web sitelerinde görüntülenir. Bu durumda, geçerli bir kullanıcı adı ve parola ile oturum açana kadar sayfa yüklenmeyecektir.

402 – Ödeme Gerekli (Payment Required)

  • İstenen sayfanın görüntülenebilmesi için ödeme yapılması gerekir.

403 – Yasak (Forbidden)

  • Bu hata mesajı, erişiminiz olmayan bir şeye erişmeye çalıştığınızda gözükür.

404 – Sayfa Bulunamadı (Not Found)

  • Bu, istenen sayfanın sunucu tarafından bulunamadığı anlamına gelir. Sonuç olarak, kullanıcı 404 hata sayfası olarak adlandırılan bir sayfaya ulaşır. Bir web sitesinde çok sayıda 404 hatası varsa, bunun SEO’nuz üzerinde olumsuz bir etkisi olabilir. Arama motorunun gözünde bu, bir sitenin bakımının iyi yapılmadığını ve kullanıcı dostu olmadığını gösterir. 404 kodu döndüren sayfalar yüksek otoriteye ve yüksek trafiğe sahip sayfalarsa, ilgili bir alternatif sayfaya işaret eden bir 301 yönlendirmesi ayarlamanız önerilir.

405 – Yönteme İzin Verilmedi (Method Not Allowed)

  • Bu protokol, sunucunun istek yöntemini bildiğini ancak hedef kaynağın bunu desteklemediğini gösterir.

406 – Kabul Edilemez (Not Acceptable)

  • 406 Kabul Edilemez, istemci sistemin sunucunun yerine getiremeyeceği Kabul Et başlıkları içeren bir yanıt talep ettiğini belirten bir HTTP yanıt kodudur. Bunun nedeni, istemcinin dosyanın yapılandırıldığı biçimi anlamamasıdır.

407 – Proxy Kimlik Doğrulaması Gerekli (Proxy Authentication Required)

  • İstemcinin isteği doğrudan bir kimlik doğrulama sorunu bildirmez, yalnızca bir proxy sunucusuyla kimlik doğrulaması yapması gerektiğini bildirir.

408 – İstek Zaman Aşımı (Request Timeout)

  • Sunucu beklemek yerine bağlantıyı kapatmaya karar verdi. Web sitesine bağlantı “zaman aşımına uğradı”.

409 – Çakışma (Conflict)

  • HTTP durum kodu 409, tek bir dosya için çok fazla eşzamanlı istek olduğunu gösterir. Örneğin, sunucudaki mevcut dosyadan daha eski bir dosya yüklediğinizde 409 kodunu görebilirsiniz, bu bir çakışmaya neden olur.

410 – Gone

  • Sayfa kalıcı olarak kaldırılmışsa bir 410 görüntülenir. Web sayfası artık sunucudan kullanılamaz ve herhangi bir yönlendirme adresi ayarlanmamıştır. HTTP durum kodu 410 olan bir sayfayla karşılaşırsanız, bu sayfaya yönlendiren tüm bağlantıları kaldırmanız önerilir.

411 – Uzunluk Gerekli (Length Required)

  • HyperText Transfer Protocol (HTTP) hata yanıt kodu 411 Length Required, sunucunun tanımlanmış bir Content-Length başlığı olmadan isteği kabul etmeyi reddettiğini gösterir.

412 – Önkoşul Başarısız (Precondition Failed)

  • Bu hata kodu, sunucunun tanımlanmış bir Content-Length başlığı olmadan isteği kabul etmeyi reddettiğini gösterir. Bu, tanımlanan ön koşul karşılanmadığında koşullu istekler için gerçekleşir.

413 – Yük Çok Büyük (Payload Too Large)

  • 413 HTTP yanıt kodu, istemci sistemden gelen bir isteğin boyutu sunucunun dosya sınırını aştığında ortaya çıkar.

414 – URI Çok Uzun  (Request – URI Too Long)

  • Bu hata kodu, URL’nin sunucunun işleyemeyeceği kadar uzun olduğunu gösterir.

415 – Desteklenmeyen Medya Türü (Unsupported Media Type)

  • Yük, desteklenmeyen bir biçime sahiptir.

416 – Aralık Uygun Değil (Requested Range Not Satisfiable)

  • Bu HTTP durum kodu, sunucunun istenen aralıkları sağlayamadığını gösterir.

417 – Beklenti Başarısız (Expectation Failed)

  • İstekte Expect başlığıyla ilgili bir sorun var. Sunucu muhtemelen başlıktaki gereksinimi karşılayamıyor.

418 – Ben Bir Çaydanlığım (I am a teapot)

  • Bu HTTP durum kodu Hiper Metin Cezve Kontrol Protokolünün bir parçasıdır ve 1998 yılında 1 Nisan şakası olarak düşünülmüştür.

421 – Yanlış Yönlendirilmiş İstek (Misdirected Request)

  • İstenen ana bilgisayar adı bu bağlantı için kullanılan Sunucu Adı Göstergesi (SNI) ile eşleşmediğinden, istemcinin bu istek için yeni bir bağlantıya ihtiyacı vardır.

422 – İşlenemeyen Varlık (Unprocessable Entity)

  • Doğru şekilde doğrulanmayan bir gövde veya sorgu parametreleri belirtirseniz, herhangi bir uç nokta olduğunda bu HTTP yanıt kodunu görürsünüz. Örneğin, zorunlu alanlar eksikse veya alan değerleri yanlış biçimlendirilmişse…

423 – Kilitli (Locked)

  • 422 İşlenemez Varlık Hata kodu, talebin uygun şekilde formüle edildiğini ancak anlamsal hatalar nedeniyle işlem yapılamadığını belirten bir yanıttır.

424 – Başarısız Bağımlılık (Failed Dependency)

  • HTTP durum kodu 424, istemcinin isteğinin daha önce başarısız olan başka bir isteğe bağlı olduğu için başarısız olduğu anlamına gelir.

425 – Çok Erken (Too Early)

  • Bu kod, bir sunucunun tekrarlanabileceği için bir isteği yürütmek istemediğini gösterir.

426 – Yükseltme Gerekli (Upgrade Required)

  • Bu HTTP durum kodu, sunucunun isteği yalnızca bir güncellemeden sonra yürütmek istediğini gösterir.

428 – Ön Koşul Gerekli (Precondition Required)

  • Sunucu, isteğin koşullu olmasını gerektirir (if-match, …). Bu ön koşul eksik olduğunda kod görüntülenir.

429 – Çok Fazla İstek (Too Many Requests)

  • İstemci, belirli bir süre içinde çok fazla istek nedeniyle hız sınırını aşmıştır.

431 – İstek Üstbilgi Alanları Çok Büyük (Request Header Fields Too Large)

  • 431 HTTP durum kodu, isteğin HTTP üstbilgileri çok uzun olduğunda görüntülenir.

451 – Yasal Nedenlerle Kullanılamıyor  (Unavailable For Legal Reasons)

  • Bu HTTP durum kodu, sunucunun yasal bir gereklilik nedeniyle kaynağa erişimi reddettiğini gösterir.

5XX: Hata Mesajları

500 – İç Sunucu Hatası (Internal Server Error)

  • 500 hata kodu, sunucu komutu yürütemediğinde ortaya çıkar. Sunucu ile iletişim kurarken tam olarak neyin yanlış gittiği belli değildir, genel bir dahili sunucu hatasıdır.

501 – Uygulanmamış (Not Implemented)

  • 501 HTTP durum kodu, sunucunun isteği yerine getirmek için gerekli işlevselliği desteklemediğini gösterir.

502 – Hatalı Ağ Geçidi (Bad Gateway)

  • 502 Bad Gateway hatası, bir URL isteğinin veya bir web sayfasını ziyaret etme girişiminin geçersiz bir yanıt döndürdüğünü gösterir. Aşırı yüklenmiş bir sunucu, 502 hata mesajının en yaygın nedenlerinden biridir.

503 – Hizmet Kullanılamıyor (The Service Unavailable)

  • Sunucu şu anda bir isteği gerçekleştiremiyorsa bu kodu gönderir. Bu HTTP durum kodu, bu sorunun geçici olduğunu gösterir. Bu kod genellikle bir site bakımdayken veya sunucu aşırı yüklendiğinde ortaya çıkar. Arama robotları ve kullanıcılardan daha sonra tekrar gelmeleri istenir.

504 – Ağ Geçidi Zaman Aşımı (Gateway Timeout)

  • Bir 504 gördüğünüzde, bu genellikle yüklemeye çalıştığınız web sitesinin isteği tamamlamak için ihtiyaç duyduğu sunucudan yeterince hızlı yanıt alamadığı anlamına gelir.

505 – HTTP Sürümü Desteklenmiyor (HTTP Version Not Supported)

  • 505 “HTTP Sürümü Desteklenmiyor” kodu, sunucunun istemci tarafından tarayıcı isteğinde kullanılan HTTP protokolü sürümünü desteklemediği veya desteklemeyeceği anlamına gelir.

506 – Variant Also Negotiates

  • Sunucu doğru yapılandırılmamış gibi görünüyor. Alternatif temsil biçiminde de iç sunucu ve konfigürasyon hatası olduğunu bize bildirir..

507 – Yetersiz Depolama Alanı (Insufficient Storage)

  • 507 HTTP durum kodu, sunucunuzdaki veya bilgisayarınızdaki yetersiz depolama alanı nedeniyle yüklemeye çalıştığınız sayfayı oluşturmak için yeterli alan olmadığını gösterir.

510 – Genişletilmedi (Not Extended)

  • HTTP durum kodu 510, sunucunun isteği işleyebilmesi için daha fazla uzantıya ihtiyaç duyulduğu anlamına gelir. Genellikle HTTP isteğindeki bir uzantı desteklenmediğinde ortaya çıkar.

511 – Ağ Kimlik Doğrulaması Gerekli (Network Authentication Required)

  • Bu HTTP durum kodu, ağ kimlik doğrulaması gerektiğinde ortaya çıkar. Bu genellikle ağın kullanılabilmesi için bir parola girilmesi gerektiği anlamına gelir. Kullanıcının ağı kullanmadan önce hizmet şartlarını kabul etmesi gereken halka açık Wi-Fi bağlantı noktalarını düşünün.

Yazı sonuna geldik, görüşlerinizi bekliyoruz!