HTTP durum kodları, bir web sayfasına bağlanan sunucudan alınan kısa notlar gibidir. Aslında sitenin içeriğinin bir parçası değiller. Bunun yerine, sunucudan gelen iletiler, belirli bir sayfayı görüntüleme isteği alındığında işlerin nasıl gittiğini size bildiren uyarılardır.
Bir bağlantıyı her tıkladığınızda veya bir URL yazıp Enter tuşuna bastığınızda, tarayıcınız web sunucusuna erişmeye çalıştığınız site için bir istek gönderir. Sunucu isteği alır ve işler ve ardından bir HTTP üstbilgisiyle birlikte ilgili kaynakları geri gönderir.
HTTP durum kodları tarayıcınıza HTTP üstbilgisinde gönderilir. Durum kodları tarayıcınız bir web sayfası veya kaynak istediğinde her seferinde döndürülürken, çoğu zaman bunları görmezsiniz.
Genellikle yalnızca bir şeyler ters gittiğinde tarayıcınızda bir tane görebilirsiniz. Sunucunun şöyle demesi gerekir: “Bir şeyler doğru değil.” İşte http durum kodu, neyin yanlış gittiğini açıklayan bir koddur.
Bu araçlardan biriyle HTTP durum kodlarını görmek için, raporun üst kısmında “Durum: HTTP / 1.1” yazan satırı bulun. Bunu, sunucu tarafından döndürülen durum kodu izler.
Bu yazıda, karşılaşabileceğiniz HTTP durum kodlarını tanımladım. Daha hafif 100 ve 200 düzeyli kodlardan daha zor 400 ve 500 düzeyindeki hatalara kadar, bu mesajların anlamını sağlamak, web sitenizi korumak ve kullanıcılar tarafından erişilebilir olmasını sağlamak için çok önemlidir.
HTTP Durum Kodu Sınıfları
HTTP durum kodları 5 sınıfa ayrılmıştır. Bunlar benzer veya ilişkili anlamları olan cevap gruplandırmasıdır. Ne olduklarını bilmek, özel anlamını aramadan önce durum kodunun genel maddesini hızlı bir şekilde belirlemenize yardımcı olabilir.
Beş sınıf şunları içerir:
- 100’ler Bilgilendirici: Tarayıcı tarafından başlatılan isteğin devam ettiğini gösteren bilgi kodları. Bu, talebin alındığı ve sürecin devam ettiği anlamına gelir.
- 200’ler Başarı: Tarayıcı isteği sunucu tarafından alındığında, anlaşıldığında ve işlendiğinde döndürülen başarı kodları. Bu, eylemin başarıyla alındığı, anlaşıldığı ve kabul edildiği anlamına gelir.
- 300’ler Yönlendirme: İstenen kaynak için yeni bir kaynak kullanıldığında yönlendirme kodları. Bu, talebin tamamlanması için daha fazla işlem yapılması gerektiği anlamına gelir.
- 400’ler İstemci Hatası: İstekte bir sorun olduğunu belirten istemci hata kodları. Bu, isteğin yanlış sözdizimi içerdiği veya yerine getirilemediği anlamına gelir.
- 500’ler Sunucu Hatası: İsteğin kabul edildiğini, ancak sunucudaki bir hatanın isteğin yerine getirilmesini engellediğini belirten sunucu hata kodları. Bu, sunucunun görünürde geçerli bir isteği yerine getiremediği anlamına gelir.
- Bu sınıfların her birinde çeşitli sunucu kodları vardır ve bunlar sunucu tarafından döndürülebilir. Her bir kodun, birazdan daha kapsamlı listede ele alacağımız özel ve benzersiz bir anlamı vardır.
Arama Motoru Optimizasyonu için Neden HTTP Durum Kodları ve Hataları Önemlidir? Tabii ki SEO!
Arama motoru botları, sitenizi tararken HTTP durum kodlarını görür. Bazı durumlarda, bu iletiler sayfalarınızın dizine eklenip eklenmediğini ve nasıl yönlendirileceğini ve arama motorlarının sitenizin sağlığını nasıl algıladığını etkileyebilir.
Genel olarak, 100- ve 200 seviyeli HTTP durum kodları SEO üzerinde fazla etkili olmayacaktır. Her şeyin sitenizde olması gerektiği gibi çalıştığını ve arama motoru botlarının yoluna devam etmesini sağlarlar. Ancak, sıralamanızı yükseltmezler.
Çoğunlukla, SEO için önemli olan üst düzey kodlar! 400 ve 500 düzeyindeki yanıtlar, botların sayfalarınızı taramasını ve dizine eklemesini önleyebilir. Bu hataların çok fazla olması, sitenizin yüksek kalitede olmadığını ve muhtemelen sıralamalarınızı düşürdüğünü de gösterebilir.
300 seviyeli kodların SEO ile biraz daha karmaşık bir ilişkisi var. Etkilerini anlamak için bilmeniz gereken en önemli şey, kalıcı ve geçici yönlendirmeler arasındaki farktır.
Bununla birlikte, sürekli yönlendirmeler, bağlantı eşitliğini geri bağlantılardan paylaşır, ancak geçici olanlar paylaşmaz. Başka bir deyişle, taşınan sayfalar için geçici yönlendirmeler kullandığınızda, yaptığınız tüm bağlantı oluşturma işleminin SEO avantajını kaybedersiniz.
HTTP Durum Kodları
1XX Durum Kodu
100 düzeyli bir durum kodu, sunucuya yaptığınız isteğin bir nedenle hala devam ettiğini gösterir. Bu her zaman bir sorun değil, bazen de neler olduğunu size bildirmek için sadece ekstra bilgidir.
100: “Devam et.” Bu, söz konusu sunucunun tarayıcınızın istek başlıklarını aldığı ve artık istek gövdesinin de gönderilmeye hazır olduğu anlamına gelir. Bu, üstbilgiler reddedilmiş olsa bile tarayıcının bir vücut isteği göndermesini engellediği için istek sürecini daha verimli hale getirir. Sunucu tarafından isteğin yalnızca bir kısmı alındı, ancak reddedilmediği sürece, istemcinin bu isteğe devam etmesi gerekir.
101: “Protokol değiştirme.” Tarayıcınız sunucudan protokolleri değiştirmesini istedi ve sunucu uydu. Sunucu protokolü değiştirir.
103: “Erken ipuçları.” Bu, sunucunun yanıtının geri kalanı hazır olmadan önce bazı yanıt başlıklarını döndürür.
2XX Durum Kodu
Bu, alınacak en iyi HTTP durum kodu türüdür. 200 seviyeli bir yanıt, her şeyin olması gerektiği gibi çalıştığı anlamına gelir.
200: “Her şey yolunda.” Bu, bir web sayfası veya kaynak tam olarak beklenen şekilde davrandığında gönderilen koddur.
201: “Oluşturuldu.” Sunucu tarayıcının isteğini yerine getirdi ve sonuç olarak yeni bir kaynak yarattı. İstek tamamlandı ve yeni bir kaynak oluşturuldu.
202: “Kabul edildi.” Sunucu tarayıcınızın isteğini kabul etti, ancak hala işleme koyuyor. İstek sonuçta tamamlanmış bir yanıtla sonuçlanabilir veya sonuçlanmayabilir. Yani istek işlenmek üzere kabul edildi, ancak işlem tamamlanmadı.
203: “Yetkili olmayan bilgiler.” Bu durum kodu bir proxy kullanımdayken görünebilir. Proxy sunucusunun, kaynak sunucudan 200 “Her şey yolunda.” durum kodu aldığı, ancak tarayıcınıza aktarmadan önce yanıtı değiştirdiği anlamına gelir. Varlık başlığındaki bilgiler, orijinal sunucudan değil, yerel veya üçüncü taraf bir kopyadan alınmıştır.
204: “İçerik yok.” Bu kod, sunucunun isteği başarıyla işlediği, ancak herhangi bir içerik döndürmeyeceği anlamına gelir. Yanıtta bir durum kodu ve bir başlık verilir, ancak yanıtta varlık-gövde yoktur.
205: “İçeriği sıfırla.” 204 kodu gibi, bu da sunucunun isteği nasıl işlediğini, ancak herhangi bir içerik döndürmeyeceğini gösterir. Ancak, tarayıcınızın belge görünümünü sıfırlamasını da gerektirir. Tarayıcı, ek girdi için bu işlem için kullanılan formu temizlemelidir.
206: “Kısmi İçerik.” HTTP istemciniz (tarayıcınız olarak da bilinir) ‘aralık başlıkları’ kullanıyorsa bu durum kodunu görebilirsiniz. Bu, tarayıcınızın duraklatılmış indirme işlemlerine devam etmesini ve bir indirmeyi birden fazla akışa bölmesini sağlar. Bir aralık başlığı, sunucunun istenen kaynağın yalnızca bir bölümünü göndermesine neden olduğunda 206 kodu gönderilir. Sunucunun içerik aralığı başlığına verilen yanıtta yer alan aralığı belirtmesi gerekir.
3XX Durum Kodu
Yönlendirme, bir kaynağın yeni bir konuma taşındığını bildirmek için kullanılan işlemdir. Ziyaretçilere aradıkları içeriği nerede bulabilecekleri hakkında bilgi sağlamak için yönlendirmelere eşlik eden birkaç HTTP durum kodu vardır.
300: “Birden fazla seçenek.” Bazen, tarayıcınızın isteğini yerine getirmek için sunucunun yanıt verebileceği birden fazla olası kaynak olabilir. 300 durum kodu, tarayıcınızın artık bunlar arasında seçim yapması gerektiği anlamına gelir. Birden çok dosya türü uzantısı olduğunda veya sunucuda sözcük algılamasının ortadan kaldırılması durumunda bu durum oluşabilir.
301: “İstenen kaynak kalıcı olarak taşındı.” Bu kod, bir web sayfası veya kaynak kalıcı olarak farklı bir kaynakla değiştirildiğinde gönderilir. Kalıcı URL yönlendirmesi için kullanılır.
302: “İstenen kaynak taşındı, ancak bulundu.” Bu kod, istenen kaynağın, beklendiği yerde değil, bulunduğunu belirtmek için kullanılır. Geçici URL yeniden yönlendirmesi için kullanılır.
303: “ Diğerine bak.” 303 durum kodunu anlamak, dört birincil HTTP istek yöntemi arasındaki farkı bilmenizi gerektirir. Temel olarak, 303 kodu tarayıcınıza POST, PUT veya DELETE aracılığıyla tarayıcınızın istediği kaynağı bulduğunu söyler. Bununla birlikte, GET kullanarak almak için, daha önce kullandığınız URL’den farklı bir URL’ye uygun istekte bulunmanız gerekir. İstenen sayfa farklı bir URL altında bulunabilir.
304: “ İstenen kaynak, en son eriştiğiniz tarihten beri değiştirilmedi.” Bu kod tarayıcıya tarayıcı önbelleğinde depolanan kaynakların değişmediğini bildirir. Önceden indirilmiş kaynakları yeniden kullanarak web sayfası dağıtımını hızlandırmak için kullanılır. Bu, URL’nin belirtilen tarihten bu yana değiştirilmediği bir If-Modified-Since veya If-None-Match üstbilgisinin yanıt kodudur.
305: Proxy kullan! İstenen URL’ye Konum başlığında belirtilen proxy üzerinden erişilmelidir.
307: “ Geçici yönlendirme .” Bu durum kodu, bir kaynak geçici olarak farklı bir URL’ye taşındığında uygun eylem olarak 302 “Bulundu.” ifadesinin yerini aldı. 302 durum kodunun aksine, HTTP yönteminin değişmesine izin vermez.
308: “Kalıcı yönlendirme.” 308 durum kodu, 301 “Kalıcı olarak taşındı.” kodunun ardılıdır. HTTP yönteminin değişmesine izin vermez ve istenen kaynağın artık kalıcı olarak yeni bir URL’de bulunduğunu belirtir.
4XX Durum Kodu
400 düzeyinde, HTTP durum kodları sorunlu olmaya başlar. Bunlar, tarayıcınızda ve / veya isteğinizde bir hata olduğunu belirten hata kodlarıdır.
400: “Kötü istek.” Sunucu, istemcinin sonundaki bir hata nedeniyle yanıt döndüremiyor. Sunucu isteği anlamadı.
401: “ Yetkisiz.” veya “Yetkilendirme gerekli.” Hedef kaynak geçerli kimlik doğrulama bilgilerine sahip olmadığında bu sunucu tarafından döndürülür. Htpasswd kullanarak temel HTTP kimlik doğrulaması ayarladıysanız bunu görebilirsiniz. İstenen sayfada bir kullanıcı adı ve şifre gerekiyor.
402: “Ödeme gerekiyor.” Başlangıçta, bu kod dijital nakit sisteminin bir parçası olarak kullanılmak üzere oluşturuldu. Ancak, bu plan hiç takip etmedi. Bu kodu henüz kullanamazsınız. Bunun yerine, genellikle gerekli fonların eksikliğinden dolayı bir talebin yerine getirilemeyeceğini belirtmek için çeşitli platformlar tarafından kullanılır.
403: “Bu kaynağa erişim yasaktır.” Bu kod, kullanıcı görüntüleme iznine sahip olmadığı bir şeye erişmeye çalıştığında döndürülür. Örneğin, oturum açmadan parola korumalı içeriğe erişmeye çalışmak 403 hatası verebilir. İstenen sayfaya erişim yasaktır.
404:
Bu görseli hatırladınız mı? Blog içeriklerimizi düzenli takip eden okurlarımız için bu maddeyi açıklama gereği duymuyoruz. =) Yeni tanıştığımız herkes için linkimizi bırakalım. =)
405: “ Yönteme izin verilmiyor.” Bu, barındırma sunucusu (kaynak sunucu) alınan yöntemi desteklediğinde oluşturulur, ancak hedef kaynak desteklemez. İstekte belirtilen yönteme izin verilmiyor.
406: “Kabul edilemez yanıt.” İstenen kaynak, yalnızca istekte gönderilen kabul başlıklarına göre kabul edilemez içerik üretebilir. Sunucu yalnızca istemci tarafından kabul edilmeyen bir yanıt oluşturabilir.
407: “Proxy kimlik doğrulaması gerekiyor.” Bir proxy sunucusu kullanımda ve devam etmeden önce tarayıcınızın kimliğini doğrulamasını gerektiriyor. Bu isteğin sunulabilmesi için önce bir proxy sunucusuyla kimlik doğrulaması yapmanız gerekir.
408: “Sunucu, isteğin geri kalanını tarayıcıdan beklerken zaman aşımına uğradı.” Bu kod, tarayıcıdan gelen tüm isteği beklerken bir sunucu zaman aşımına uğradığında oluşturulur. Başka bir deyişle, sunucu tarayıcı tarafından gönderilen tam isteği alamadı. Olası nedenlerden biri, tarayıcı ile sunucu arasında veri paketlerinin kaybına yol açan net tıkanıklık olabilir. İstek, sunucunun beklemeye hazır olduğundan daha uzun sürdü.
409: “Çatışma.” 409 durum kodu, ilgili kaynakla bir çakışma olduğu için sunucunun tarayıcınızın isteğini işleyemediği anlamına gelir. Bu bazen birden fazla eşzamanlı düzenleme nedeniyle oluşur. Bir çakışma nedeniyle istek tamamlanamadı.
410: “İstenen kaynak gitti ve geri gelmeyecek.” Bu, 404 “Bulunamadı.” koduna benzer, ancak 410, durumun beklendiğini ve kalıcı olduğunu gösterir. İstenen sayfa artık mevcut değil.
411: “Uzunluk gerekli.” Bu, istenen kaynağın istemcinin belirli bir uzunluk belirtmesini ve gerektirmediğini gösterir. İçerik uzunluğu tanımlanmamış. Sunucu isteği olmadan kabul etmez.
412: “Önkoşul başarısız.” Tarayıcınız istek başlıklarına belirli koşullar ekledi ve sunucu bu özellikleri karşılamadı. İstekte verilen ön koşul sunucu tarafından false olarak değerlendirildi.
413: “Yük çok büyük.” veya “Varlık çok büyük iste.” İsteğiniz, sunucunun istediği veya işleyebildiğinden daha büyük. İstek varlığı çok büyük olduğundan sunucu isteği kabul etmeyecek.
414: “URI çok uzun.” Bu genellikle sunucunun işleyemeyeceği kadar büyük bir sorgu dizesi olarak kodlanmış bir GET isteğinin sonucudur. URL çok uzun olduğu için sunucu isteği kabul etmeyecek. Bir “gönderi” isteğini, uzun sorgu bilgileri içeren bir “get” isteğine dönüştürdüğünüzde oluşur.
415: “Desteklenmeyen medya türü.” İstek, sunucunun veya kaynağın desteklemediği bir ortam türü içeriyor. Mediatype desteklenmediği için sunucu isteği kabul etmeyecek.
416: “Menzil memnun değil.” İsteğiniz, kaynağın sunucunun döndüremediği bir kısmı içindi. İstenen bayt aralığı mevcut değil ve sınırların dışında.
417: “Beklenti başarısız.” Sunucu, isteğin bekleme başlığı alanında belirtilen gereksinimleri karşılayamıyor. Beklenti istek başlığı alanında verilen beklenti bu sunucu tarafından karşılanamadı.
422: “İşlenemeyen varlık.” İstemci isteği anlamsal hatalar içeriyor ve sunucu bunu işleyemiyor.
425: “Çok erken.” Bu kod, sunucu yeniden oynatılabileceğinden bir isteği işlemek istemediğinde gönderilir.
426: “Yükseltme gerekli.” İsteğin yükseltme üstbilgisi alanının içeriği nedeniyle, istemci farklı bir protokole geçmelidir.
428: “Önkoşul gerekli.” Sunucu, isteği işlemeden önce koşulların belirtilmesini gerektiriyor.
429: “Çok fazla istek.” Bu, kullanıcı belirli bir süre içinde çok fazla istek gönderdiğinde sunucu tarafından oluşturulur (hız sınırlayıcı). Bu bazen, sitenize erişmeye çalışan botlar veya komut dosyaları nedeniyle oluşabilir. Bu durumda, WordPress giriş URL’nizi değiştirmeyi deneyebilirsiniz.
431: “İstek üstbilgisi alanları çok geniş.” Üstbilgi alanları çok büyük olduğundan sunucu isteği işleyemiyor. Bu, tek bir başlık alanıyla ilgili bir sorunu veya tümünü toplu olarak gösterebilir.
451: “Yasal nedenlerle kullanılamıyor.” Sunucunun operatörü, istediğiniz kaynağa (veya istediğiniz kaynağı da içeren bir dizi kaynağa) erişimi yasaklamak için bir talep aldı.
499: “Müşteri kapalı isteği.” Nginx hala işlerken istemci isteği kapattığında bu NGINX tarafından döndürülür.
5XX Durum Kodu
500 seviyeli durum kodları da hata olarak kabul edilir. Ancak, sorunun sunucunun sonunda olduğunu belirtirler. Bu onların çözülmesini zorlaştırabilir.
500: “Sunucuda bir hata oluştu ve istek tamamlanamadı.” Sunucu beklenmedik bir koşulla karşılaştı. Bu, “dahili sunucu hatası” anlamına gelen genel bir koddur. Sunucuda bir şeyler ters gitti ve istenen kaynak teslim edilmedi. Bu kod genellikle üçüncü taraf eklentileri, hatalı PHP ve hatta veritabanı kopması bağlantısı tarafından oluşturulur.
501: “Uygulanmadı.” Bu hata, sunucunun isteği yerine getirmek için gereken işlevselliği desteklemediğini gösterir. Bu neredeyse her zaman web sunucusunun kendisinde bir sorundur ve genellikle ana bilgisayar tarafından çözülmesi gerekir. İstek tamamlanmadı. Sunucu gerekli işlevselliği desteklemedi.
502: “Bozuk ağ geçidi.” Bu hata kodu genellikle bir sunucunun, bir proxy sunucunun kullanımında olduğu gibi başka bir sunucudan geçersiz bir yanıt aldığı anlamına gelir. Diğer zamanlarda bir sorgu veya istek çok uzun sürer ve bu nedenle sunucu tarafından iptal edilir veya öldürülür ve veritabanı bağlantısı kesilir. İstek tamamlanmadı. Sunucu, yukarı akış sunucusundan geçersiz bir yanıt aldı.
503: “Sunucu şu anda bu isteği yerine getiremiyor.” İstek şu anda tamamlanamıyor. Bu kod, ek istekleri işleyemeyen aşırı yüklenmiş bir sunucu tarafından döndürülebilir. İstek tamamlanmadı. Sunucu geçici olarak aşırı yükleniyor veya çalışmıyor.
504: “Ağ geçidi görevi gören sunucu, başka bir sunucunun yanıt vermesini beklerken zaman aşımına uğradı.” Bu, bir isteğin işlenmesine katılan iki sunucu olduğunda döndürülen koddur ve ilk sunucu, ikinci sunucunun yanıt vermesini beklerken zaman aşımına uğrar. Ağ geçidi zaman aşımına uğradı.
505: “HTTP sürümü desteklenmiyor.” Sunucu, istemcinin isteği yapmak için kullandığı HTTP sürümünü desteklemez.
511: “Ağ kimlik doğrulaması gerekiyor.” Bu durum kodu, kullanmaya çalıştığınız ağ, isteğinizi sunucuya göndermeden önce bir tür kimlik doğrulama gerektirdiğinde gönderilir. Örneğin, herkese açık bir kablosuz ortak erişim noktasının Şartlar ve Koşullarını kabul etmeniz gerekebilir.
521: “Web sunucusu kapalı.” Hata 521, buluta özgü bir hata iletisidir. Bu, web tarayıcınızın Cloudflare’ye başarılı bir şekilde bağlanabildiği, ancak Cloudflare’nin orijinal web sunucusuna bağlanamadığı anlamına gelir.
525: “SSL el sıkışma başarısız”. Hata 525, Cloudflare kullanan bir etki alanı ile kaynak web sunucusu arasındaki SSL el sıkışmasının başarısız olduğu anlamına gelir.
Bu durum kodlarını bilmek, kendi web sitenizi korurken veya hatta başka sitelerde karşılaştığınızda bazı benzersiz sorunları çözmenize yardımcı olabilir.
Bu tür mesajlar, tarayıcınız bir sunucu ile her etkileşim kurduğunda, görmeseniz bile döndürülür. Bir web sitesi sahibi veya geliştiricisiyseniz, HT TP durum kodlarını anlamak çok önemlidir. HTTP durum kodları web sitesi yapılandırma hatalarını teşhis etmek ve düzeltmek için paha biçilmez bir araçtır.
Yüzeyde kafa karıştırıcı veya göz korkutucu gibi görünseler de, HTTP durum kodları aslında çok bilgilendiricidir. Yaygın olanlardan bazılarını öğrenerek ve bize ulaşarak, sitenizdeki sorunları daha hızlı bir şekilde giderebilirsiniz.