HTTP hata kodları, sitenizde yaşanan hataları veya sorunları otomatik olarak işleyerek anlaşılır bir dilde size bildirir.
Kodlar RFC2616 spesifikasyonu ile berlilenmiş ve yaygın olarak kullanılmaktadır.
Hatalar genel olarak beş kategoriden oluşur. Yanıtın ilk hanesi hangi kategoriye ait olduğunu belirtir. Geriye kalan iki haneli numara ise kategori içerisindeki hata listesindeki açıklamaya karşıt gelmektedir.
Genel olarak karşımıza çıkmakta olan hata kodları;
200 – Sunucu sayfası başarı ile döndürüldü
404 – İstenen sayfa yok
503 – Sunucu kullanılamıyor
Kodlar ve Açıklamaları
1xx kodları (Geçici Yanıt)
- Geçici bir istekte bulunan yada yanıt belriten kişiden işleme devam etmek için bir işlem yapmasını isteyen durum kodudur.
100 (Devam) İstenen işleme devam etmesi gerekir. Sunucu isteğin ilk kısmını aldığını ve geri kalanını beklediğini belirtir.
101(Protokoller değişiyor) İstekte bulunan sunucu protokolleri değiştirmek istemiştir ve sunucu bu isteği yerine getireceğini doğrulamaktadır.
2xx durum kodları (Başarılı)
- Sunucunun isteği başarılı bir şekilde tamamladığını gösterir.
200 (Başarılı) Sunucu isteği başarılı bir şekilde işleme koymuştur. Genellikle bu, sunucunun istenen sayfayı sağladığını gösterir. Robots.txt dosyası için bu kodu görüyorsanı eğer Googlebot başarılı bir şekilde getirdiği anlamını taşır.
201(Oluşturuldu) İstek başarılı ve sunucu yeni bir kaynak oluşturmuş.
202 (Kabul Edildi) İstek başarılı ancak henüz işlem yapılmamış.
203(Yetkilendirilmemiş Bilgiler) İstek başarılı ancak baka bir kaynaktaki bilgileri görülmekte.
204(içerik yok) İstek başarılı ancak içerik döndürmemekte.
205(İçeriği Sıfırla) İstek sunucu tarafından kabul edilmiş fakat içerik döndürmemekte. 204 cevabını farklı olarak yanıt için istekte bulunan belge görünümünü sıfırlaması gerekir. (Örnek olarak form temizleme gibi…)
206(Kısmi İçerik) Sunucu GET isteğini başarıyla işleme koymuş.
3xx Durum kodları (Yeniden Yönlendirildi)
- Sunucu, isteği tamamlamak için daha fazla işlem yapması gerekir. Bu durum kodları genellikle yeniden yönlendirmek için kullanılır. Google, her istek için beşten az yeniden yönlendirme kullanmanızı öneriyor. Web yöneticisi araçları ile Googlebot’un yeniden yönlendirilen sayfalarınızı tararken sorun yaşayıp yaşamadığını görebilirsiniz. Teşhis altında bulunan Tarama hataları sayfasında Googlebot’un yeniden yönlendirme hataları nedeniyle tarayamadığı URL’leri listeler.
300(Birden çok seçenek) İsteğe bağlı olarak sunucu gerçekleştirebileceği işlemler bellidir. Sunucu istekte bulunan kullanıcıya bağlı olarak bir işlem seçer veya istekte bulunan kullanıcının işlemi seçebilmesi için bir liste sunar.
301(Kalıcı olarak taşındı) İstenen sayfa kalıcı olarak yeni bir konuma taşındı. Sunucu bu cevabı verdiğinde, istekte bulunan otomatik olarak yeni konuma yönlendirilir. Bu sayfanın yeni konumunu GoogleBot’a bildirmek için bu kod kullanılır.
302(Geçici olarak taşındı) Sunucu şu anda isteğe farklı bir konumda bulunan bir sayfayla yanıt veriyor; ancak istekte bulunanın gelecek istekler için özgün konumu kullanmaya devam etmesi gerekiyor. Bu kod, bir GET veya HEAD isteği için istekte bulunanı otomatik olarak farklı bir konuma yönlendirmesi bakımından 301 koduna benzer, ancak Googlebotözgün konumu taramaya ve dizine eklemeye devam edeceğinden bir sayfanın veya sitenin taşındığını Googlebot‘a bildirmek için bu kodu kullanmamalısınız.
303 (Başka konuma bakın) İstekte bulunanın, yanıtı almak için farklı bir konuma ayrı bir GETisteğinde bulunması gerektiğinde sunucu bu kodu döndürür. HEAD isteği dışındaki tüm istekler için sunucu otomatik olarak diğer konuma yönlendirir.
304 (Değiştirilmedi) İstenen sayfa, son istekten bu yana değiştirilmedi. Sunucu bu yanıtı döndürdüğünde sayfanın içeriğini döndürmez.
305 (Proxy kullanın) İstekte bulunan, istenen sayfaya ancak proxy kullanarak erişebilir. Sunucu bu yanıtı döndürdüğünde, istekte bulunanın kullanması gereken proxy’yi de belirtir.
307 (Geçici yeniden yönlendirme) Sunucu şu anda isteğe farklı bir konumda bulunan bir sayfayla yanıt veriyor; ancak istekte bulunanın gelecek istekler için özgün konumu kullanmaya devam etmesi gerekiyor. Bu kod, bir GET veya HEAD isteği için istekte bulunanı otomatik olarak farklı bir konuma yönlendirmesi bakımından 301 koduna benzer, ancak Googlebot özgün konumu taramaya ve dizine eklemeye devam edeceğinden bir sayfanın veya sitenin taşındığını Googlebot‘a bildirmek için bu kodu kullanmamalısınız.
4xx Durum kodları (İstek Hatası)
- 4xx kodları, istekte muhtemelen sunucunun isteği işlemesini engelleyen bir hata olduğunu gösterir.
400 (Yanlış istek) Sunucu isteğin söz dizimini anlamadı.
401 (Yetkilendirilmemiş) Bu istek için kimlik doğrulaması gerekiyor. Sunucu giriş yapmadan görüntülenemeyen sayfa için bu yanıtı döndürebilir.
403 (Yasak) Sunucu isteği reddetiyor. Sitenizin geçerli sayfalarını taramaya çalışırken Googlebot’un bu durum kodunu aldığını görürseniz (Google Web Yöneticisi Araçları‘ndaki Teşhis sekmesinin altında bulunan Web’de tarama sayfasında bunu görebilirsiniz), sunucunuz veya ana bilgisayarınız Googlebot’un erişimini engelliyor olabilir.
404 (Bulunamadı) Sunucu istenen sayfayı bulamıyor. Örneğin, istek, sunucuda bulunmayan bir sayfa için yapılmışsa, sunucu genellikle bu kodu döndürür. Sitenizde bir robots.txt dosyası yoksa ve Teşhis sekmesinin robots.txt sayfasında bu durumu görüyorsanız, doğru durum budur. Ancak, bir robots.txt dosyanız varsa ve bu durumu görüyorsanız, robots.txt dosyanızın adı veya konumu doğru olmayabilir. (Söz konusu dosya etki alanınızın en üst düzeyinde bulunmalı ve robots.txt olarak adlandırılmalıdır.)
405 (Yönteme izin verilmiyor) İstekte belirtilen yönteme izin verilmiyor.
406 (Kabul edilemez) İstenen sayfa, istenen içerik özellikleriyle yanıt veremiyor.
407 (Proxy kimlik doğrulaması gerekiyor) Bu durum kodu, 401 (Yetkilendirilmemiş) koduna benzer; ancak istekte bulunanın proxy kullanarak kimlik doğrulaması yapmasını belirtir. Sunucu bu yanıtı döndürdüğünde, istekte bulunanın kullanması gereken proxy’yi de belirtir.
408 (İstek zaman aşımına uğradı) Sunucu isteği beklerken zaman aşımına uğradı.
409 (Çakışma) Sunucu isteği gerçekleştirirken bir çakışmayla karşılaştı. Sunucu çakışmayla ilgili bilgileri yanıta eklemelidir. Sunucu önceki istekle çakışan bir PUT isteğine yanıt olarak bu kodu ve istekler arasındaki farkların listesini döndürebilir.
410 (Gitti) İstenen kaynak kalıcı olarak kaldırıldığında sunucu bu yanıtı döndürür.
411 (Uzunluk gerekli) Sunucu geçerli bir Content-Length (İçerik Uzunluğu) başlık alanı olmadan isteği kabul etmez.
412 (Önceden koşullandırma başarısız oldu) Sunucu istekte bulunan tarafından istekte belirtilen ön koşullardan birini karşılamıyor.
413 (İstek varlığı çok büyük) Sunucu işleyemeyeceği kadar büyük olduğu için isteği işleyemiyor.
414 (İstenen URI çok uzun) İstenen URI (genellikle bir URL) sunucunun işleyemeyeceği kadar büyük.
415 (Desteklenmeyen ortam türü) İstek, istenen sayfa tarafından desteklenmeyen bir biçime sahip.
416 (İstenen aralık karşılanabilir değil) İstek, sayfa için kullanılamayan bir aralık için yapıldıysa sunucu bu durum kodunu döndürür.
417 (Beklenti karşılanmadı) Sunucu Expect istek başlığı alanının gereksinimlerini yerine getiremiyor.
5xx Durum Kodları (Sunucu Hatası)
- Bu durum kodları, isteği işleme koymaya çalışırken sunucunun dahili bir hatayla karşılaştığını gösterir. Bu hatalar genellikle istekle değil, sunucunun kendisiyle ilgilidir.
500 (Dahili sunucu hatası) Sunucu hatayla karşılaştı ve isteği gerçekleştiremiyor.
501 (Uygulanmadı) Sunucu isteği gerçekleştirecek işlevselliğe sahip değil. Örneğin, sunucu istek yöntemini tanımadığında bu kodu döndürebilir.
502 (Bozuk ağ geçidi) Sunucu bir ağ geçidi veya proxy gibi davranırken yukarı akış sunucusundan geçersiz bir yanıt aldı.
503 (Hizmet kullanılamıyor) Sunucu (aşırı yüklü olduğu veya onarım nedeniyle kapalı olduğu için) şu anda kullanılamıyor. Bu genellikle geçici bir durumdur.
504 (Ağ geçidi zaman aşımı) Sunucu bir ağ geçidi veya proxy gibi davranırken yukarı akış sunucusundan zamanında istek alamadı.
505 (HTTP sürümü desteklenmiyor) Sunucu istekte kullanılan HTTP protokolü sürümünü desteklemiyor.