Bir webmaster siteleriyle ilgilenirken birçok kez HTTP Durum Kodlarıyla karşılaşır. Bu kodları ve onlara karşı nasıl hareket edileceğini bilmek SEO ve web sitesi sağlığı açısından oldukça önemlidir. Bende zaman zaman sitelerimde karşılaştığım bu kodları sürekli webde aratmaktan bıktım ve bu yazıyı kaleme almaya karar verdim. Böylece, HTTP Durum Kodlarına bir günlük şeklinde tuttuğum blogumdan istediğim zaman daha detaylı bir şekilde ulaşabileceğim. Birçok kaynaktan elde ettiğim bilgilerin detaylı bir toparlaması olan çalışmam umarım hem bana hemde siz ziyeretçilerime iyi bir kaynak olur.
HTTP Durum kodları Nedir ?
Bir sunucu içeriğine HTTP kullanarak ulaşılmaya çalışıldığında web öğesinin (sitesinin) durumunu belirten ve istekte bulunulan sunucular tarafından verilen üç haneli numaralardır. Bu numaralar The Internet Engineering Task Force (IETF®) RFC2616 spesifikasyonu ile belirlenmiştir. Çok birşey anladınız mı? Problem değil, ben de anlamadım :)
Bu 3 haneli kodlar "IETF" tarafından 5 sınıfa ayrılmıştır. Bu sınıflar 100, 200, 300, 400 ve 500'ler diye kategorilendirilmiştir. Bu kategoriler ve anlatmaya çalıştıkları durumlar şu şekildedir:
- 100’lü kodlar: Bilgilendirici: İstek alındı ve süreç devam ediyor. (Geçici bir yanıt belirten ve istekte bulunan kişiden devam etmek için bir işlem yapmasını isteyen durum kodlarıdır)
- 200’lü kodlar: Başarı: İstek alındı ve başarıyla işlendi. (Sunucunun isteği başarılı bir şekilde işlediğini gösterir.)
- 300’lü kodlar: Yönlendirme: İstek alındı fakat İsteği yerine getirmek için daha fazla işlem gerekmektedir. (Bu durum kodları çoğunlukla yeniden yönlendirme amacıyla kullanılır. Google, her istek için beşten az yeniden yönlendirme kullanmanızı önerir. Web Yöneticisi Araçlarını kullanarak Googlebot’un yeniden yönlendirilen sayfalarınızı taramada sorun yaşayıp yaşamadığını öğrenebilirsiniz. Sağlık Durumu'nun altında bulunan Tarama Hataları sayfasında Googlebot'un yeniden yönlendirme hataları nedeniyle tarayamadığı URL'ler listelenir.)
- 400’lü kodlar: Müşteri (İstek) Hatası: İstek müşteri tarafından yapıldı fakat sayfa geçerli değil. (Sunucunun isteği işlemesini engelleyen bir hata olduğunu gösterir.)
- 500’lü kodlar: Sunucu Hatası: Müşteri tarafından geçerli bir istek yapıldı fakat sunucu isteği gerçekleştirecek işlevselliğe sahip değil. Sunucu istek yöntemini tanımadığında bu kodu döndürebilir.
Tüm kategoriler içerisinde en çok karşılaşılan yani popüler olanlar 200, 301, 302, 404, 500 ve 503 nolu Http durum kodlarıdır. Bu kodlara kabaca ve hızlı bir şekilde göz atabilmek için kendime bir tablo hazırladım. Daha sonra bunu herkesle paylaşayımda bir işe yarasın dedim. Sonra çok genel ve klasik geldi gözüme ve listeye biraz mizah katmaya çalıştım. Bakalım beğenecek misiniz?
En popüler durum kodlarını verdikten sonra geriye birtek ana listemizi yayımlamak kalıyor. Detaylı bir şekilde hazırlamaya çalıştığım liste umarım işinizi görür.
HTTP DURUM KODLARI |
||
Kod | Mesaj | Açıklama |
1xx | ||
100 | Continue | İstek başarıyla alınır ve işleme devam edilmesi gerekir. Sunucu isteğin ilk bölümünü aldığını ve geri kalanını beklediğini belirtmek için bu kodu döndürür. |
101 | Switching Protocols | Anahtarlama Protokolü - İstekte bulunan, sunucudan protokolleri değiştirmesini istemiştir ve Sunucu, istemciden aldığı protokol değiştirme isteğine uyacağını belirtmektedir. |
102 | Processing | İşlem |
103 | Checkpoint | İptal edilen PUT yada POST isteklerini devam ettir |
2xx | ||
200 | OK | Başarılı - Sunucu isteği başarılı alınmış ve cevap başarılı verilmiştir. |
201 | Created | Oluşturuldu - İstek başarılı alınmış ve sunucu (cevap) yeni bir kaynak oluşturmuştur. |
202 | Accepted | Onaylandı - Sunucu isteği kabul etti ancak henüz işleme koymadı. |
203 | Non-Authoritative Information | Yetersiz Bilgi - Sunucu isteği başarılı işledi ancak başka bir kaynakta olabilecek bilgileri döndürmektedir. |
204 | No Content | İçerik Yok - İstek başarılı alınmış ancak geri içerik döndürülmemektedir. |
205 | Reset Content | İçeriği Baştan al - Sunucu isteği alınmış ancak geri içerik döndürmemektedir. İstekte bulunulan içerik temizlenecektir (Örnek: bir web formunda doldurulan bilgiler) |
206 | Partial Content | Kısmi İçerik - Sunucu kısmi GET isteğini (içeriğin belirli bir kısmını) başarıyla işleme koymuştur. |
207 | Multi-Status | Çok-Statü |
210 | Content Different | Farklı İçerik |
3xx | ||
300 | Multiple Choices | Çok Seçenek - Sunucuda isteğe göre birden fazla seçenek olduğunu bildirir. Sunucu seçeneği kendisi seçebilir veya seçenek listesini görüntüleyebilir. |
301 | Moved Permanently | Kalıcı Taşındı - Bir kaynağın veya sayfanın kalıcı olarak başka bir yere taşındığını bildirir ve o yere yönlendirme sağlar. Kaynağın yeni bir konuma taşındığını Googlebot'a bildirmek için bu kodu kullanmalısınız. |
302 | Found | Geçici Taşındı - Bir kaynağın (veya sayfanın) kalıcı değil geçici olarak başka bir kaynağa yönlendirir. Kaynağın ana adresi değişmemiştir. 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 | See Other | Diğerlerine Bak - İstekte bulunanın, yanıtı almak için farklı bir konuma ayrı bir GET isteğ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 | Not Modified | Değiştirilmedi - İstenen sayfa, son istekten bu yana değiştirilmedi. Farklı bir kayanağa GET yapılması gerektiğini belirtir. Sunucu bu yanıtı döndürdüğünde sayfanın içeriğini döndürmez. İstekte bulunanın son isteğinden beri sayfada herhangi bir değişiklik olmadığında, sunucunuzu bu yanıtı (If-Modified-Since HTTP başlığı olarak bilinir) döndürecek şekilde yapılandırmanız gerekir. Bu durumda, sunucunuz Googlebot'a bir sayfada son taramadan sonra herhangi bir değişiklik olmadığını bildirebileceğinden hem bant genişliğinden, hem de işletim masraflarından tasarruf edersiniz. |
305 | Use Proxy | Proxy Kullan - İ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 | Temporary Redirect | Geçici olarak yeniden gönder - 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. |
308 | Resume Incomplete | |
4xx | ||
400 | Bad Request | Kötü İstek - isteğin yapısının hatalı olduğunu ve işlemesini engelleyen bir durum olduğunu gösterir. |
401 | Unauthorized | Yetkisiz - İstek için kimlik doğrulaması gerekiyor. Sunucu giriş yapmadan görüntülenemeyen sayfa için bu yanıtı döndürebilir. |
402 | Payment Required | Ödeme Gerekli - Gelecekte kullanılması için ayrılmıştır. |
403 | Forbidden | Yasaklandı - Kaynağın yasaklandığını, isteği reddettiğini belirtir. 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 Sağlık Durumu sekmesinin altında bulunan Tarama Hataları sayfasında bunu görebilirsiniz), sunucunuz veya ana bilgisayarınız Googlebot'un erişimini engelliyor olabilir. |
404 | Not Found | Sayfa Bulunamadı - Sunucu istenen sayfayı bulamıyor. İstek, sunucuda bulunmayan bir sayfa için yapılmışsa, sunucu genellikle bu kodu döndürür. Sitenizde bir robots.txt dosyası yoksa ve Google Web Yöneticisi Araçları'ndaki Engellenen URL'ler 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.). Googlebot'un taramaya çalıştığı URL'ler için bu durumu görüyorsanız, Googlebot başka bir sayfadan geçersiz bir bağlantıyı (eski veya yanlış yazılmış bir bağlantıyı) izlemiş olabilir. |
405 | Method Not Allowed | İzin verilmeyen Metod - İstekte bulunulan yönteme izin verilmiyor. |
406 | Not Acceptable | Kabul Edilemez - İstenen sayfa, istenen içerik özellikleriyle yanıt veremiyor. İstemcinin Accept header'ında verilen özellik karşılanamıyor. |
407 | Proxy Authentication Required | Proxy kimlik doğrulaması gerekiyor - Proxy üzerinden yetkilendirme gerekir. 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 | Request Timeout | İstek zaman aşamına uğradı |
409 | Conflict | (Hatlar) Çakıştı,Çakışma - Sunucu isteği gerçekleştirirken istek içinde çelişki olduğundan dolayı bir çakışmayla karşılaştı. İstek içinde çelişki var. 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 | Gone | Bak (Kaynak artık yok) - İstenen kaynak kalıcı olarak kaldırıldığında sunucu bu yanıtı döndürür. Bu kod, 404 (Bulunamadı) koduna benzer, ancak bazen eskiden var olduğu halde artık olmayan kaynaklar için 404 yerine kullanılabilir. Kaynak kalıcı olarak taşındıysa, kaynağın yeni konumunu belirtmek için bir 301 kullanmanız gerekir. |
411 | Length Required | İstekte "Content-Length" (içeriğin boyutu) belirtilmemiş. Sunucu geçerli bir Content-Length (İçerik Uzunluğu) başlık alanı olmadan isteği kabul etmez. |
412 | Precondition Failed | Önceden koşullandırma başarısız oldu - Sunucu istekte belirtilen bazı önkoşulları karşılamıyor. Sunucu istekte bulunan tarafından istekte belirtilen ön koşullardan birini karşılamıyor. |
413 | Request Entity Too Large | İstek varlığı çok büyük - İsteğin boyutu çok büyük olduğu için işlenemedi. Sunucu işleyemeyeceği kadar büyük olduğu için isteği işleyemiyor. |
414 | Request-URI Too Long | URI (URL) sunucunun işleyebileceğinden daha büyük |
415 | Unsupported Media Type | Desteklenmeyen ortam türü - İstek istenilen medya (sayfa) tarafından desteklenmeyen bir biçime sahip. |
416 | Requested Range Not Satisfiab | İ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. İstek yapılan parça (bir dosyanın bir parçası vb..) sunucu tarafından verilebiliyor veya uygun değil. |
417 | Expectation Failed | Beklenti karşılanmadı - Sunucu Expect isteği desteklenemiyor veya yerine getirilemiyor. |
422 | Unprocessable entity | |
423 | Locked | |
424 | Method Failure | |
5xx | ||
500 | Internal Server Error | Sunucu hatası - Sunucu hatayla karşılaştı ve isteği gerçekleştiremiyor. |
501 | Not Implemented | Uygulanmamış - Sunucu istenilen isteği yerine getirecek şekilde yapılandırılmamıştır |
502 | Bad Gateway | Geçersiz (Bozuk) Ağ Geçidi - Gateway veya Proxy sunucusu, kaynağın bulunduğu sunucudan (upstream sunucusu) cevap alamıyor. Sunucu bir ağ geçidi veya proxy gibi davranırken yukarı akış sunucusundan geçersiz bir yanıt aldı. |
503 | Service Unavailable | Hizmet Yok - Sunucu şu anda hizmet vermiyor (kapalı veya erişilemiyor). Bu genellikle geçici bir durumdur. |
504 | Gateway Timeout | Ağ geçidi zaman aşımı - Gateway veya Proxy sunucusu, kaynağın bulunduğu sunucudan (upstream sunucusu) belirli bir zaman içinde cevap alamadı. Sunucu bir ağ geçidi veya proxy gibi davranırken yukarı akış sunucusundan zamanında istek alamadı. |
505 | HTTP Version Not Supported | HTTP Protokol sürümü desteklenmiyor - Sunucu istekte kullanılan HTTP protokolü sürümünü desteklemiyor. |
507 | Insufficient storage | |
511 | Network Authentication Requir |
Yazımı yararlı bulduysanız veya eksiklikler olduğunu düşünüyorsanız yorumlarınızı beklerim...
www.acemiyazilimci.com
Hiç yorum yok:
Yorum Gönderme