HTTP Durum Kodları ve Anlamları

    Bir web sitesini ziyaret ettiğinizde tarayıcınız sitenin sunucusuna bir istek gönderir ve sunucu tarayıcının isteğine 3 haneli bir kodla yanıt verir. Bu 3 haneli koda HTTP durum kodu deniliyor.

    Bu durum kodları aslında tarayıcınız ile sunucu arasındaki sohbet diyebiliriz. Bu kodların ne anlama geldiğini ve nasıl kullanıldığını öğrenmek, site üzerindeki hataları daha hızlı tespit etmenize ve hataları en düşük seviyelere çekmenize yardımcı olacaktır. Arama motorlarının ve kullanıcıların sitedeki sayfalara erişmesine yardımcı olmak için bu kodları kullanabilirsiniz. Örnek olarak 301 yönlendirmesi sayfanın kalıcı olarak başka bir yere taşındığını bildirir ve o yere yönlendirme sağlar.

    HTTP Durum Kodu Sınıfları

    -1xx: Tarayıcı tarafından gönderilen isteğin sunucuya ulaştığını ve işlemin başladığını bildiren bilgilendirme kodlarını ifade eden durum kodlarıdır.

    -2xx: Tarayıcı tarafından gönderilen isteğin sunucuya ulaştığını, anlaşıldığını ve başarılı olduğunu ifade eden durum kodlarıdır.

    -3xx: Erişilmek istenen kaynağın başka bir kaynağa taşındığını ve bir yönlendirmenin söz konusu olduğunu ifade eden durum kodlarıdır.

    4xx: İsteğin yerine getirilemediğini, ilgili web sayfasına ya da web sitesine ulaşılamadığını ifade eden durum kodlarıdır.

    -5xx: Tarayıcı tarafından gönderilen isteğin başarıyla sunucuya ulaştığını fakat sunucu tarafındaki sorunlar nedeniyle isteğin yerine getirilemediğini ifade eden durum kodlarıdır.

    Günlük Hayatta En Sık Karşımıza Çıkan Durum Kodları

    Tarayıcı ve sunucu arasındaki iletişimde ortaya çıkan bu durum kodları farklı anlamlar içerir. En sık karşımıza çıkan bu kodları aşağıda sizler için inceledik.

    200 Durum Kodu (Tamam)

    Bu normal, günlük ve sağlıklı çalışan sayfalar için ideal bir başarılı anlamına gelen durum kodudur. Her şey olması gerektiği gibi anlamına gelir.

    301 Durum Kodu (Kalıcı Yönlendirme)

    Bir sayfanın başka bir sayfaya kalıcı olarak yönlendirilmesi gerektiğinde 301 yönlendirmesi kullanılır. 301 yönlendirme o sayfaya gelen kullanıcıların ya da arama motoru botlarının otomatik olarak yeni sayfaya yönlenmesini sağlayan durum kodudur. Daha basit anlatmak gerekirse bir dükkanız olduğunu düşünün ve başka bir yere taşındınız. Eski dükkanınıza gelen müşterilere yeni adresinizi göstererek yeni dükkanınızın adresine yönlendiriyorsunuz.

    301 yönlendirme web sitesi taşıma gibi ağır işlemlerde kullanılması gereken en önemli durum kodlarından biridir.

    302 Durum Kodu (Geçici Yönlendirme)

    Bir web sayfasının geçici olarak başka bir web sayfasına yönlendirildiğini gösteren durum kodudur. 301 yönlendirmeden farklı olarak ilgili sayfanın test aşamasında olması ya da bakıma alınması gibi durumlarda yani sayfanın tekrar aktif edileceği durumlarda kullanılır.

    Dükkan örneğini yine 302 yönlendirmesine uyarlayacak olursak, dükkanınızda bir tadilat olduğunu düşünün. Geçici olarak yan dükkanda hizmet verdiğinizi göstererek geçici dükkana yönlendiriyorsunuz.

    301 ve 302 yönlendirme arasındaki farkı ziyaretçiler anlamayacaklardır. İlgili sayfaya giriş yapan kullanıcılar direkt olarak diğer sayfaya yönlendirileceklerdir.

    403 Durum Kodu (Erişim İzni Problemi)

    Kullanıcının bir web sayfasına erişmek için sunucuya gönderdiği isteğe karşılık ilgili web sayfasına erişim izni olmadığı ya da web sayfasının yasaklandığını gösteren durum kodudur.

    404 Durum Kodu (Bulunamadı)

    Kullanıcının görüntülemek istediği web sayfasının ilgili sunucuda tarafında bulunmadığını gösteren durum kodudur. Bu web sayfası silinmiş ya da URL’i değişmiş olabilir. 404 durum kodundan geçici ya da kalıcı olarak sayfaya ulaşılamadığı konusunda bir fikir edinemeyiz.

    404 durum kodunu gören ziyaretçiler genellikle sayfadan ayrılır ve başka siteleri ziyaret ederler. Bu yüzden sayfa özellikle çok trafik alan ve site için önemli sayfalardan biriyse bu durum web sitesini olumsuz olarak etkileyecektir. Bu nedenle 404 durum kodu veren sayfaların karşılıklarına ya da en alakalı olan sayfaya 301 yönlendirilmesi yaparak ziyaretçileri web sitenizde tutmalısınız.

    410 Durum Kodu (Kalıcı Olarak Bulunmuyor)

    Kullanıcının erişmek istediği sayfanın sunucuda bulunmadığını ifade eden durumdur. Sayfa artık sunucudan çıkmıyor ve iletim adresi ayarlanmamış anlamına gelir. 410 durum kodunu gördüyseniz, ölü bir kaynağa gitmeye çalıştığınızı anlayabilirsiniz.

    500 Durum Kodu (Sunucu Hatası)

    Sunucu kaynaklı problemlerde karşılaşılan durum kodudur. Yani sayfa eksik veya bulunmayan bir sorun olmak yerine sunucu tarafında bir sorun olduğunu gösterir. 500 durum kodu klasik bir sunucu hatası olup sitenize erişimi etkileyecektir. 500 durum kodu veren web sitelerinin sunucu problemlerinin en kısa sürede çözülmesi gerekir. Çünkü arama motorları sağlıklı siteleri kullanıcılara göstermeyi tercih eder, kullanıcıları erişim olmayan bir web sitesine yönlendirmek istemez.

    503 Durum Kodu (Sunucu Kullanılamıyor)

    Bu kod 500 durum kodundan farklı olarak sunucuda geçici bir problem olduğunu gösterir. Genelde sunucuların bakım sırasında ya da aşırı bir yoğunluk sonucu sunucunun geçici olarak devre dışı kaldığı durumlarda karşılaşılır. Örnek olarak üniversite sınavı sonuçlarının açıklandığı anda ÖSYM sitesine erişilememesi ya da Black Friday döneminde bazı e-ticaret sitelerinde yaşanılan aşırı yüklenme sonucunda ilgili siteye erişim sağlanamaması bu durum koduna örnek olarak gösterilebilir.

    Yukarıda incelediğimiz durum kodları günlük hayatta en çok karşımıza çıkan durum kodlarıdır. Gelin bir de kısaca diğer durum kodlarını inceleyelim.

    100: Kullanıcının isteğinin başarılı şekilde alındığını ve devam edilebileceği belirtilir.

    101: Sunucunun, tarayıcıdan aldığı protokolü değiştirmek istediğini ve kabul ettiğini ifade eder.

    102: Sunucu, tarayıcının isteğini aldı ancak henüz yanıt vermediğini gösterir. Bağlantının zaman aşımına uğramasını önlemek için verilen bir yanıttır.

    201: Tarayıcının isteği başarılı olmuş ve sunucuda yeni bir kaynak oluşturulduğu anlamına gelir.

    202: Sunucunun tarayıcıdan gelen isteği kabul ettiği ancak henüz tamamlanmadığını gösterir. Bu istek olumlu ya da olumsuz olarak sonuçlanabilir.

    203: Sunucunun isteği başarıyla işlediği ancak işlem sırasında kaynağın yanıtını değiştirdiği anlamına gelir.

    204: İstek başarılı olarak alınmış ancak herhangi bir içerik döndürülmemekte olduğu anlamına gelir.

    205: 204 durum kodu gibi isteğin başarıyla işlendiğini ve içerik döndürülmemekte olduğunu görüyoruz. Ancak burada girdiğiniz içerik temizlenecektir. Örneğin herhangi bir web formunda doldurduğunuz bilgiler temizlenecektir.

    206: Başlık içeriğinin yalnızca bir kısmının gösterildiğini ifade eder.

    300: Tarayıcının isteğini karşılamak için birden fazla seçenek olduğunu bildirir. Sunucu bu seçeneği kendisi seçebilir veya seçenek listesini görüntüleyebileceği anlamına gelir.

    303: Sunucudan istenen kaynağın talep edilenden farklı bir URL’de olduğunu belirtir.

    304: Tarayıcı önbelleğinde depolanan kaynakların değişmediğini ifade eder.

    307: Bir kaynağın geçici olarak başka bir kaynağa yönlendirmesini ifade eder. 302’ye benzer.

    308: Bir kaynağın kalıcı olarak başka bir kaynağa yönlendirilmesini ifade eder. 301’e benzer.

    400: Tarayıcıdaki hata nedeniyle sunucunun isteği işleyemediği anlamına gelir.

    401: Kullanıcının gönderdiği istek için geçerli kimlik bilgileri olmadığında döndürülen durum kodudur.

    402: Ödeme gerektiğini ve gelecekte kullanılması için ayrıldığını ifade eder.

    405: İstemcinin, isteği geçersiz bir yöntem kullanarak gönderdiğini gösterir.

    406: İstemcinin Accept header’ında verilen özelliklerin karşılanmadığını ifade eder.

    407: Proxy üzerinden kimlik doğrulaması ve yetkilendirme gerektiğini gösteren durum kodudur.

    408: Sunucunun isteği beklerken zaman aşımına uğradığını ifade eder.

    409: Aynı kaynağın farklı sürümleri arasında bir çakışma olduğu için istek işlenemiyor olduğunu gösterir. Sunucu, aynı kaynak için aynı anda birden fazla düzenleme isteği aldığında karşılaşılabilen durum kodudur.

    410: İstenen kaynağın kalıcı olarak o sunucuda bulunmadığını gösteren durum kodudur. 404’ün aksine söz konusu kaynağın tekrar kullanılamayacağını gösterir.

    411: İstenen kaynak için belirli bir uzunluk belirtilmediği anlamına gelir.

    412: Sunucunun, istekte belirtilen bazı önkoşulları karşılamadığı gösteren durum kodudur.

    413: Yapılan isteğin boyutunun çok büyük olması nedeniyle isteğin işlenemediğini ifade eder.

    414: URL istekte bulunulan sunucu tarafından işlenemeyecek kadar büyük olduğunu gösteren durum kodudur.

    415: Gelen isteğin sunucu tarafından desteklenmeyen bir medya türü içerdiğini gösteren durum kodudur.

    416: Dosyanın istenilen bir bölümünü sunucunun sağlayamaması durumunda karşılaşılan durum kodudur.

    417: Sunucunun, isteğin üstbilgisinde bulunan gereksinimlere uymadığını gösteren durum kodudur.

    422: Anlamsal bir hata sebebiyle sunucunun isteği işlemesine engel olduğunu gösteren durumdur.

    425: Sunucunun, yeniden oynatılabilecek bir isteği işleme riskini almak istemediğini gösterir.

    426: İstemcinin daha iyi bir güvenlik protokolü kullanması gerektiğini gösteren durum kodudur.

    428: Sunucu, gelen isteği işlemeden önce bazı koşulların belirlenmesi gerektiği anlamına gelen durum kodudur.

    429: Kullanıcı çok kısa bir süre içinde çok fazla istek gönderdiğinde sunucu tarafından hız sınırlayıcı oluşturduğunu gösterir.

    431: Sunucu, tek bir üstbilgi alanı veya toplu olarak tüm üstbilgi alanları çok büyük olduğundan isteği işlemek istemediğini ifade eder.

    451: Sunucu, bir kaynağa veya istenen kaynağı içeren bir dizi kaynağa erişimi engellemek için yasal bir talep aldığını gösteren durum kodudur.

    501: Sunucu ya istek yöntemini tanımıyor olabilir ya da bu isteği yerine getirmek için desteklenmediğini gösterir. Bu genellikle gelecekteki kullanılabilirlik anlamına gelir (Bir web hizmeti API’sının yeni bir özelliği örnek olarak gösterilebilir)

    502: Sunucu, ağ geçidi veya proxy olarak işlev gördüğünü ve akış yukarı sunucudan geçersiz bir yanıt aldığını gösteren durum kodudur.

    504: Sunucunun gelen isteği işlerken diğer sunucudan yanıt beklerken isteğin zaman aşımına uğradığını gösteren durum kodudur.

    505: Sunucu, istekte kullanılan HTTP protokolünün sürümünü desteklemediğini gösterir.

    507: Sunucu, isteği tamamlamak için gereken gösterimi depolamadığını ifade eden durum kodudur.

    511: Kullanılmak istenen ağın isteği sunucuya iletmeden önce istemcinin kimliğini doğrulaması yapılması gerektiği durumlarda görülen durum kodudur.

    En çok karşılaşılan durum kodlarını sizler için inceledik. Peki bu durum kodlarını ve hatalarını nasıl kontrol edebiliriz? Giriş yapmaya çalıştığınız herhangi bir sayfanın sunucudan hangi durum koduyla geldiğini görmek için tarayıcı eklentilerini kullanabilirsiniz. “Redirect Path” isimli eklentiyi tarayıcınıza ekleyerek gelen durum kodlarını takip edebilirsiniz.

    Ayrıca web siteniz üzerindeki hatalı durum kodları içeren sayfaları belirlemek için de Google Search Console hizmetini kullanabilirsiniz. Google Search Console hesabınıza giriş yaptıktan sonra sol taraftaki “Kapsam” bölümünden hataları ve size verilen siteyle ilgili uyarıları kolayca görüntüleyebilirsiniz.

    Tıklama Oranı Raporlarında Neye Dikkat Edilmeli?
    İyi Bir Açılış Sayfası İçin İpuçları