Günümüzde internet, milyarlarca web sitesi ve milyonlarca ziyaretçiyi bünyesinde barındırıyor. Yaşadığımız bu büyük dijital dünyada web siteleri; ziyaretçiler tarafından bilgi edinmek, bir ürün hakkında araştırma yapmak veya bir ürünü satın almak için kullanılıyor. Bu nedenle web sitelerinin işleyişi, ziyaretçilerle kurduğu iletişimin anlaşılır ve sistemli olması büyük önem taşımaktadır. Bu iletişimi sağlamak için de belirli bir dil kullanması gerekir. Web sitelerinin ziyaretçilerle kurduğu iletişimi daha anlaşılır ve sistemli hale getirmek için de HTTP (Hypertext Transfer Protocol) durum kodları adı verilen protokol önemli bir rol oynamaktadır. Bu yazımızda da HTTP durum kodları ve kullanımlarını ele aldık ve bu konu hakkında sizleri bilgilendirmeyi amaçlıyoruz.
Bir web sitesini ziyaret ettiğimizde biz ve site arasında iki taraflı bir iletişim kurulur. Bu iletişimin bir tarafında tarayıcı, diğer tarafında ise sunucu bulunmaktadır. Sayfayı görüntülemek için siteye ziyaret gerçekleştireceğimizin bilgisi, tarayıcı tarafından ilgili web sayfasının sunucusuna iletilir ve istek gönderilir. Sunucu bu isteğimize üç haneli bir durum kodu ile cevap verir. İşte bu üç haneli durum kodlarına HTTP durum kodu (status code) denir. Bu kodlar bazen bize bir sorundan kaynaklı sayfanın görüntülenemediğini bazen de sayfanın sorunsuz bir şekilde açılabildiğini bildirir. Bu nedenle durum kodları sadece bir hata gerçekleştiğinde bize hatayı bildirmez. Web sayfalarının durumunu belirtir ve web tarayıcılarına nasıl tepki verileceğini gösterir.
HTTP durum kodları hem web siteleri hem de kullanıcılar için önemli bir rol oynar. Web sitenizin sorunsuz açılması, yanıt verme süresi ve durum kodları kullanıcı deneyimini doğrudan etkiler. Her web sitesinin ortak kaygısı da kullanıcı deneyimini pozitif yönde tutmaktır. Eğer siteniz sorunsuz şekilde açılıyor, hızlı bir şekilde yanıt veriyor ve başarılı durum kodu dönüyorsa kullanıcılar sitenizde daha iyi bir deneyim yaşarlar. Ancak siteniz komutlara geç cevap veriyor ve sürekli şekilde hata kodu döndürüyorsa bu sitenizin güvenilirliğini ve kullanıcı memnuniyetini olumsuz etkileyecektir. Bu durum kullanıcı deneyimini etkilerken sitenizin SEO (Arama Motoru Optimizasyonu) performansını da etkileyecektir. Arama motoru botları web sitelerini tarayıp dizine eklerken, sitenizin yanıt verme süresini ve HTTP durum kodlarını dikkate alır. Örneğin sürekli olarak 5xx (sunucu hatası) durum kodlarıyla karşılaşan bir web sitesi, arama motoru botlarının güvenini kaybedebilir ve arama motoru sonuç sayfası sıralamasında düşebilir. Bir başka örnekle, 404 (sayfa bulunamadı) hata koduna sahip sayfalar arama motoru botları tarafından olumsuz değerlendirilir ve indekslenemez.
HTTP Durum Kodları beş ayrı sınıfa ayrılır ve her sınıf belirli bir tür olayı tanımlar ve temsil eder. HTTP durum kodu üç haneli bir sayıdan oluşur. İlk rakam durum kodunun sınıfını belirtir ve genel olarak durum kategorisini temsil eder. Diğer iki rakam ise durumun ayrıntılarını belirtir. HTTP durum kodları arasında, bazıları diğerlerine göre daha yaygın olarak karşılaşılır. Bunlar, 200 (OK), 301 (Kalıcı Taşınma), 404 (Sayfa Bulunamadı), 500 (Dahili Sunucu Hatası) ve 503 (Hizmet Kullanılamıyor) olarak sıralanabilir. Şimdi bu durum kodlarına daha detaylı bir şekilde bakalım.
100: Bu durum kodu, sunucunun isteği hala işlemekte olduğunu ve tamamlanmasını beklediğini belirtir. Bu durumda, sunucu belirli bir süre boyunca işlemi sürdürebilir ve daha sonra sonuç döndürebilir.
101: Bu durum kodu, tarayıcının sunucudan bir protokol değişikliği istediğini ve sunucunun da bu isteği kabul ettiğini ifade eder.
103: Bu durum kodu, sunucunun son istek iletisinden önce bazı yanıt başlıklarını döndürdüğünü ifade eder. Özellikle uzun süren isteklerde veya çeşitli aşamalarla gerçekleşen işlemlerde kullanılır. Sunucu, önemli başlıkları önceden göndererek istemciye bilgi sağlamış olur.
200: İsteğin başarıyla işlendiği ve tarayıcı ile sunucu arasında her şeyin yolunda olduğu anlamına gelir. Bu durumda isteğin istenen kaynakla ilgili doğru sonuçlarla döndürüldüğü anlaşılır.
201: Sunucu, isteğin başarılı bir şekilde yerine getirildiğini ve yeni bir kaynağın oluşturulduğunu belirtir.
202: Sunucu, tarayıcının gönderdiği isteği kabul etti ve işleme koydu. Ancak, isteğin olumlu veya olumsuz sonuçlanabileceğini ifade eder. Yani, sonuç henüz tam olarak bilinmiyor olabilir.
203: Bu durum, kaynağın sunucu tarafından başarıyla işlendiği, ancak yanıtın istemci tarafından değiştirildiği anlamına gelir. Örneğin, bir proxy sunucu tarafından içerik filtrelemesi yapılmış olabilir.
204: Sunucunun isteği başarıyla işlediği, ancak herhangi bir içerik döndürmeyeceği anlamına gelir. Yani, istemciye herhangi bir yanıt verilmez. Bu durum genellikle güncelleme veya silme gibi işlemlerde kullanılır.
205: 204 durum kodu gibi isteğin başarıyla işlendiği, ancak herhangi bir içerik döndürülmeyeceği anlamına gelir. Bununla birlikte, tarayıcının belge görünümünü sıfırlaması gerektiği anlaşılır. Yani, tarayıcı, kullanıcının gördüğü içeriği yenilemelidir.
206: Bu durum kodu, tarayıcının durdurulmuş indirmelere devam etmesini ve indirmeleri birden fazla akışa ayırmasını sağlar. Özellikle büyük dosyaların parça parça indirilmesi gerektiğinde kullanılır.
300: Bu durum kodu, sunucunun birden fazla olası kaynağa sahip olduğunu ve tarayıcının seçim yapması gerektiğini ifade eder. Sunucu, farklı kaynakları tarayıcıya sunar ve tarayıcı, hangi kaynağı kullanmak istediğini seçer.
301: Bu durum kodu, bir web sayfasının veya kaynağın kalıcı olarak farklı bir yere taşındığını belirtir. Tarayıcı, gelecekte bu kaynağı yeni konumunda bulabilir ve isteklerini doğrudan oraya yönlendirebilir.
302: Bu durum kodu, bir web sayfasının veya kaynağın geçici olarak farklı bir yere taşındığını ifade eder. Tarayıcı, bu durumda isteği geçici konuma yönlendirir ve gelecekte tekrar eski konumunu kullanabilir.
303: Bu durum kodu, tarayıcının Post, Put veya Delete yöntemleriyle talep ettiği kaynağın başka bir URL'de bulunduğunu belirtir. Tarayıcı, kaynağı almak için farklı bir URL'ye Get isteği yapmalıdır.
304: Bu durum kodu, tarayıcıya önbelleğinde depolanan bir kaynağın değişmediğini bildirir. Tarayıcı, önbellekteki sürümü kullanarak kaynağı yeniden indirmek yerine yerel önbellekteki veriyi kullanır, bu da bant genişliğinden tasarruf sağlar.
307: Bu durum kodu, bir kaynağın geçici olarak farklı bir yere taşındığını ifade eder. 302 durum kodundan farklı olarak, tarayıcının yönetiminin değişmesine izin vermez. Yani tarayıcı, isteği tekrar aynı yerine yönlendirir.
308: Bu durum kodu, bir kaynağın kalıcı olarak farklı bir yere taşındığını belirtir. 301 durum kodundan farklı olarak, tarayıcının yönetiminin değişmesine izin vermez. Tarayıcı, gelecekteki istekleri doğrudan yeni konuma yönlendirir.
400: Bu durum kodu, sunucunun tarayıcının gönderdiği isteği hatalı bulduğunu ve isteği işleyemediğini ifade eder. Genellikle kullanıcı tarafından yapılan yanlış bir istek veya geçersiz veri gönderimi nedeniyle ortaya çıkar.
401: Bu durum kodu, kullanıcının erişmek istediği kaynağın güvenlik doğrulaması gerektirdiğini ve kullanıcının geçerli kimlik doğrulama bilgilerine sahip olmadığını belirtir. Kullanıcı, kimlik doğrulama yapmadan kaynağa erişemez.
402: Bu durum kodu, kullanıcının bir kaynağa erişmek için ödeme yapması gerektiğini ve gelecekte kullanılmak üzere rezerve edildiğini ifade eder. Bu genellikle çevrimiçi ödeme gerektiren içeriklerde kullanılır.
403: Bu durum kodu, kullanıcının ilgili kaynağa erişimin yasaklandığını belirtir. Kullanıcı, güvenlik veya izin sorunları nedeniyle kaynağa erişemez.
404: Bu durum kodu, istenen kaynağın sunucuda bulunmadığını ifade eder. En sık karşılaşılan HTTP durum kodlarından biridir ve genellikle "Sayfa Bulunamadı" hatası olarak bilinir.
405: Bu durum kodu, istenen kaynak için kullanılan istek yönteminin desteklenmediğini ifade eder. Örneğin, bir GET isteği yerine POST isteği gerektiren bir kaynağa GET isteği gönderildiğinde bu durum kodu döndürülür.
406: Bu durum kodu, istemcinin Accept Header bölümünde belirtilen özelliklerin sunucu tarafından karşılanamadığını ifade eder. Sunucu, istemciye uygun bir içerik döndüremez.
407: Bu durum kodu, bir proxy sunucu ile kimlik doğrulaması ve yetkilendirme gerektiren durumlarda kullanılır. Kullanıcı, geçerli kimlik bilgileriyle kimlik doğrulaması yapmadan kaynağa erişemez.
408: Bu durum kodu, sunucunun isteği beklerken zaman aşımına uğradığını ifade eder. Genellikle ağ bağlantısı sorunları veya sunucu yoğunluğu nedeniyle ortaya çıkar.
409: Bu durum kodu, bir uyuşmazlık veya çakışma durumu olduğunu ve isteğin tamamlanamadığını belirtir. Örneğin, aynı kaynağa aynı anda birden fazla değişiklik isteği gönderildiğinde bu durum kodu döndürülür.
410: Bu durum kodu, istenen kaynağın kalıcı olarak sunucuda bulunmadığını ifade eder. Kaynak artık mevcut değildir ve gelecekte de dönmemesi beklenir.
411: Bu durum kodu, istenen kaynak için belirli bir uzunluk belirtilmediğini ifade eder. Örneğin, bir POST isteği için içerik uzunluğu belirtilmediğinde bu durum kodu döndürülür.
412: Bu durum kodu, istekte bulunan tarafın belirtilen ön koşulları karşılamadığını ifade eder. Sunucu, isteği işlemek için gereken koşulların sağlanmadığını belirtir.
413: Bu durum kodu, yapılan isteğin boyutunun sunucunun işleyemeyeceği kadar büyük olduğunu belirtir. Örneğin, bir dosya yükleme isteği çok büyük bir dosya içeriyorsa bu durum kodu döndürülür.
414: Bu durum kodu, sunucunun işleyemeyeceği kadar büyük bir sorgu dizesi içeren bir GET isteği olduğunu ifade eder. Örneğin, URL'deki parametreler çok uzunsa bu durum kodu döndürülür.
415: Bu durum kodu, gelen isteğin sunucu tarafından desteklenmeyen bir ortam türü içerdiğini ifade eder. Sunucu, istemcinin talep ettiği medya türünü desteklemez.
416: Bu durum kodu, istemcinin istediği bir dosyanın sunucunun sağlayamadığı bir bölümünü istediğini belirtir. Örneğin, bir video dosyasının belirli bir bölümünü istemek bu durum kodunu tetikleyebilir.
417: Bu durum kodu, sunucunun isteğin bekleme başlığı alanındaki gereksinimleri karşılayamadığını ifade eder. Örneğin, sunucu belirli bir süre içinde yanıt veremediğinde bu durum kodu döndürülür.
422: Bu durum kodu, sunucunun anlamsal hata içeren istekleri işleyemediğini ifade eder. İstek, sunucunun beklediği veri yapısını veya koşullarını karşılamadığı için işlenemez.
425: Bu durum kodu, sunucunun yeniden oynatılabilecek istekleri işleme riskini almadığını ifade eder. Sunucu, güvenlik veya diğer nedenlerle isteği yeniden işleme koymaz.
426: Bu durum kodu, isteğin yükseltme başlığı alanında belirtilen içerik nedeniyle farklı bir protokole geçilmesi gerektiğini ifade eder. Örneğin, sunucu HTTP/1.1 isteğini HTTP/2'ye yükseltme talebinde bulunabilir.
428: Bu durum kodu, sunucunun isteği işlemeden önce belirli koşulların belirlenmesi gerektiğini ifade eder. Örneğin, bir kaynağa erişmek için belirli bir kimlik doğrulama veya diğer koşulların sağlanması gerekebilir.
429: Bu durum kodu, kullanıcının belirli bir süre içinde çok fazla istek gönderdiğinde sunucu tarafından hız sınırlamasına tabi tutulduğunu belirtir. Bu, sunucunun aşırı kullanımı önlemek için bir sınırlama uyguladığını gösterir.
431: Bu durum kodu, üst bilgi alanlarının çok büyük olması nedeniyle sunucunun isteği işleyemediğini ifade eder. Sunucu, isteği kabul etmek için istenen üst bilgileri işleyemez veya depolayamaz.
500: Bu durum kodu, sunucudaki bir sorun nedeniyle isteğin tamamlanamadığını ifade eder. Sunucu tarafında bir hata veya başka bir sorun olduğunda bu durum kodu döndürülür.
501: Bu durum kodu, sunucunun isteği yönetemediği veya desteklemediği anlamına gelir. Sunucu, isteği yerine getirmek için gerekli işlevleri desteklemiyor veya uygulamıyor olabilir.
502: Bu durum kodu, sunucunun başka bir sunucuya istek gönderdikten sonra geçersiz bir yanıt aldığını ifade eder. Örneğin, bir proxy sunucusu başka bir sunucudan hatalı bir yanıt alırsa bu durum kodu döndürülür.
503: Bu durum kodu, sunucunun geçici olarak hizmet veremediği ve istekleri işleyemediği durumlarda kullanılır. Genellikle sunucunun aşırı yük altında olduğu veya bakım çalışmalarının yapıldığı zamanlarda görülür.
504: Bu durum kodu, bir isteği işlerken sunucunun beklediği yanıtı zamanında alamaması durumunda kullanılır. Sunucu, başka bir sunucudan beklenen yanıtı zaman aşımına uğradığında bu durum kodu döndürülür.
505: Bu durum kodu, HTTP protokol sürümünün desteklenmediğini ifade eder. Sunucu, istemcinin kullandığı HTTP protokol sürümünü desteklemiyor veya kabul etmiyor olabilir.
511: Bu durum kodu, kullanılacak ağın isteği sunucuya iletmek için kimlik doğrulaması gerektirdiği durumlarda kullanılır. Örneğin, bir WiFi ağına bağlanmak için kullanıcı kimlik doğrulaması yapmak zorunda olduğunda bu durum kodu döndürülür.
Kullanıcı deneyimini olumlu yönde ilerletmek ve SEO performansını iyileştirmek için web sitelerinin doğru HTTP durum kodlarını kullanması gerektiğinden bahsetmiştik. Bununla birlikte hataları etkili bir şekilde kontrol etmelidir. HTTP durum kodları ve hatalarının kontrol edilmesi için bazı adımlardan bahsedilebilir. Öncelikle web sitesinin hangi sayfalarında hangi kodların yanıt verildiğini öğrenmek için çeşitli geliştirilmiş tarayıcı eklentileri kullanılabilir. Web sitesinin kodları hakkında genel bilgiye sahip olmak için de geliştirilmiş tarama araçları kullanılabilir.
Sitenin kodları hakkında bilgi edindikten sonra web sitesinin yanıt verme süresini optimize etmek ve tarayıcılara doğru bilgi iletmek ve yanıtlamak için uygun HTTP durum kodları kullanılmalıdır. Daha sonra sitede bulunan ve kaldırılmayan 404 (error) kodu döndüren hata sayfaları kullanıcılar için özelleştirilebilir. Kullanıcılara hatanın nedenini açıklayan bir mesaj sunmak, ilgili sayfalara veya ana sayfa gibi zengin içerikli bir alternatif sayfaya yönlendirmek hem kullanıcı deneyimi için hem de SEO performansı açısından iyi olacaktır. Özelleştirilmiş hata sayfaları sitenin terk edilme olasılığını düşürecektir ve sitenin güvenilirliğini arttıracaktır. Sitede gerçekleşen hataların izlenmesi ve düzeltilmesi için bir hata izleme ve analiz aracı kullanmak önemlidir. Bu araçlar hataların tespit edilip analiz edilmesine ve düzeltme önlemleri alınmasına yardımcı olur. Örnekle açıklamak gerekirse, 404 (error) kodu hatalarını izleyerek yanlış bağlantılar düzeltilebilir, eksik sayfaları tamamlanabilir ve kullanıcı deneyimi geliştirilebilir.
Web sitesinin hızlı yanıt vermesi kullanıcı memnuniyetini arttırırken sitenin terk edilme oranını da azaltabilir. Sunucu performansını iyileştirmek için optimize edilmiş bir altyapı kullanılabilir ve gereksiz veri transferleri minimize edilebilir. Böylece kullanıcılar daha hızlı bir şekilde sayfayı görüntüleyebilir, içeriğe ulaşabilir ve sunucu hatalarıyla karşılaşma olasılıkları da azalır. Web sitelerinin kullanıcı deneyimini etkiler ve sitenin güvenilirliği ile kullanıcı memnuniyetini belirler. Hızlı ve başarılı durum kodları döndüren bir web sitesi, kullanıcılara daha iyi bir deneyim sunar. Ayrıca, arama motoru optimizasyonu performansını da etkiler.
Bu yazıda http durum kodları ve kullanımlarını detaylıca ele aldık. Kısaca HTTP durum kodları web sitesiyle ziyaretçi arasında iletişim kurulmasını sağlayan bir protokoldür. Bu kodlar sayesinde web sayfasının durumunu ve tarayıcılara nasıl tepki verileceğini anlarız. Kullanıcı memnuniyeti, sitenin güvenirliği ve sitenin SEO performansı açısından büyük bir öneme sahiptir. Unutmayalım ki, her web sitesi farklı olduğundan bahsedilen adımlar sitenin ihtiyaçları ve hedeflerine göre uyarlamak önemlidir.
YMYL ve SEO, internet üzerindeki bilgi karmaşası içerisinde kullanıcıların doğru bilgiye hızlı ve kolay bir şekilde ulaşabilmesi için belirl...
Evergreen içerik, zamanla eskimeyen ve sürekli olarak ilgi çeken içerik anlamına gelir.
Son zamanların en çok konuşulan yapay zeka uygulamalarından biri ChatGPT'yi mercek altına alıyoruz!
SEO rehberi akılda kalıcı içeriği ve sade anlatımıyla Sempeak Blog'da. SEO hakkında temel bilgiler edinmek için hemen sayfamızı ziyaret edin...