HTTP Durum Kodları Nedir?
HTTP durum kodları (HTTP yanıt kodları), bir web sayfasının barındırıldığı sunucuya, istemciden gönderilen HTTP isteğine yanıt olarak döndürülen kodlara verilen isimdir. Bir tarayıcı (istemci) web sayfasına bağlanmak istediğinde ilgili sayfayı barındıran sunucu, ilgili sayfanın durumu durumu ile alakalı bir cevap (yanıt) döndürür. Her tarayıcı server etkileşimi sırasında gerçekleşen bu işlemde sunucu yanıt olarak 3 (digit) rakamdan oluşan numaralandırılmış bir açıklama döndürür. Bu yanıt HTTP response (yanıt) başlığında yer alır ve sayfa içeriğinin doğrudan bir parçası değildir.
HTTP kodları kendi içerisinde 3 digit rakamından ilkinin başlangıcına göre farklı anlamlara ve gruplara bölünürler. Bir response kod 3 ile başlıyorsa o bir yönlendirme grubunun parçasıdır. Bu noktada ilgili yönlendirmenin kalıcı mı, geçici mi yoksa güvenlik kaynaklı bir yönlendirme mi olduğu 3 rakamının devamında gelecek olan 2 rakam içerisinden özellikle sonuncu rakamda belli olur.
Yani 3xx olarak belirtilen tüm kodlar bir yönlendirme durum grubunun kodudur ancak 307 ile 302 işleyiş olarak benzer olsalar da çıkış kaynakları gereği farklı HTTP durum (yanıt) kodlarıdır.
İnternet de her kullanıcının her an yoğun olarak karşılaştığı HTTP durum kodlarından olan 404 hataları da, 4xx hata kodlu HTTP durum sınıfa girerler. Bu kodun ortaya çıkışı şu şekilde gerçekleşir; Kullanıcı tarayıcısı üzerinden bir sayfaya bağlanmak istediğinde o web sayfasının bağlı olduğu sunucuya bir istekte bulunur, akabinde sunucu ilgili sayfayı kontrol ederek sayfanın genel durumu ile alakalı bir brief vermek amacıyla HTTP durum kodlarını kullanarak bir yanıt döndürür. İşte bu noktada 4xx HTTP kodlarından bir tanesi olan 404 durum kodu, eğer kullanıcının bağlanmak istediği sayfanın bulunması ile alakalı problem varsa döndürülür.
Buradan yola çıkarak HTTP durum kodlarının çıkış (yol) işleyişini şu şekilde özetleyebiliriz;
- Kullanıcı tarayıcısı görüntülemek istediği sayfaya yönelik sunucuya istek gönderir
- Tarayıcı isteğine alan sunucu ilgili isteğin bulunduğu sayfayı kontrol eder
- Sunucu incelenen sayfanın genel durumu ile alakalı tarayıcıya bilgi vermek amacıyla yanıt döndürür.
- Sunucunun döndürdüğü yanıt HTTP response başlığında istemciden gönderilen HTTP isteğine verilen diğer yanıtlar ile birlikte bulunur.
- Sunucudan döndürülen yanıtın durumuna göre tarayıcı ilgili cevabı kullanıcıya yansıtır yada yansıtmaz. Her iki durumda sunucunun http durum kodu yanıtı, tarayıcı tarafında okunur ve işleme alınır.
- 3xx, 2xx kodlu HTTP durum kodları tarayıcıda işlenirken kullanıcıya durum ile alakalı bilgi görünür şekilde aktarılmaz ancak 4xx ve 5xx http durum kodları birer hata olmaları sebebiyle tarayıcı üzerinde işlem yapmaksızın, kullanıcı tarafından görüntülenebilir.
HTTP ve HTTP Durum Kodu Sınıfları
HTTP (Hyper Text Transfer Protocol), Türkçe karşılığı ile Köprü Metin Aktarım Protokolü, internet üzerinde her çeşit dosya ve medya trafiğinin gerçekleştirilebilmesi için kullanılır. Bu bağlamda üst bölümde internet dünyası içerisindeki görevini özetlediğimiz HTTP durum kodları, kendi içlerinde üstlendikleri rol gereği 5’e bölünürler.
Bölündükleri bu 5 sınıf, üst bölümde belirttiğimiz gibi kendilerini ifade eden 3 rakamdan özellikle ilk rakama göre sembolize edilirler. Yani yanıtlardan herhangi biri 4 ile başlıyorsa o 4xx kodlu sınıfa dahildir ve aynı sınıf içerisinde yalnızca 4 rakamı ile başlayan HTTP durum kodları yer alır.
HTTP Sınıfları:
- 1XX (100 Kodlu Yanıtlar): 1xx HTTP Durum kodları, kullanıcının bulunduğu isteğin sunucu tarafında devam ettiğinin bildirildiği yanıtlardır. Örneğin HTTP 100 yanıtı isteğin şu anda işlenmekte olduğunun bildirildiği yanıttır. Bu yanıt tarayıcıya iletilir ancak kullanıcı ekranına yansıtılmaz.
- 2xx (200 Kodlu Yanıtlar): 2xx HTTP Durum kodları, tarayıcıdan sayfaya yönelik sunucuya gönderilen işlemin başarılı olduğunun bildirildiği yanıtlardır. HTTP 2xx kodlu yanıtlarda sunucunun tarayıcıdan gelen isteğe başarılı yanıt verdiği ve sayfanın açılabilir olduğu bildirilir. Örneğin http 200 “OK” kodlu yanıtlarda sayfa istek sonrasında kullanıcı tarayıcısında net şekilde görülebilir.
- 3xx (300 Kodlu Yanıtlar): 3xx HTTP durum kodları, tarayıcıdan web sayfasına yönelik sunucuya iletilen isteğin farklı bir sayfaya yönlendirildiğinin bildirildiği yanıtlardır. Yani 3xx durum kodlarına sahip sayfalara yönelik tarayıcıdan bir istek gönderildiğinde sunucu ilgili sayfanın farklı bir sayfaya yönlendirildiğini HTTP 3xx kodlu yanıtlar ile bildirir ve kullanıcıyı yeni sayfaya yönlendirir.
- 4xx (400 Kodlu Yanıtlar): 4xx HTTP durum kodları, kullanıcı kaynaklı bir hatanın gerçekleştiğinin bildirildiği yanıtlardır. Yani HTTP 4xx hata kodlu bir yanıt tarayıcıya gönderildiğinde burada hatanın kaynağının client yani kullanıcı olduğu bildirilir. Ancak burada ki kullanıcı salt tarayıcıdan isteği gönderen kişi olarak algılanmamalıdır. Web sayfasını barındıran sitede uygulanan herhangi bir işlem sonrasında 4xx HTTP hata kodları ortaya çıkabilir.
- 5xx (500 Kodlu Yanıtlar): 5xx HTTP durum kodları, tarayıcıdan gönderilen istek sırasında sunucu kaynaklı bir hatanın ortaya çıktığının iletildiği yanıtlardır.
HTTP Durum Kodları Listesi
HTTP yanıt kodları içerisinden web dünyasında en sık karşılaşılanları aşağıdaki listede bulabilirsiniz ;
1xx Bilgilendirici HTTP Durum Kodları
Durum Kodu | Açıklama |
---|
HTTP 100 (Continue) | Kullanıcı (client) tarafından sunucuya gönderilen isteğin sağlıklı şekilde işlendiği ve isteğe yönelik bir problemin olmadığının HTTP durum kodu ile bildirildiği yanıttır. HTTP 100 kodu tarayıcı & kullanıcıya gönderildikten sonra kullanıcının isteğine devam etmesi beklenir. Bu noktada HTTP 100 kodunun kullanıcıya döndürülmesi için istek sırasında Expect:100-Continue bildiriminin istek header bölümünde bulunması gereklidir. |
HTTP 101 (Switching Protocols) | İstemci sunucudan protokol’ün değişmesini isterse ve buna yönelik header’da bilgilendirmeyi sağlarsa, sunucu tarafından gelecek olumlu yanıt HTTP 101 ile gönderilir. HTTP 101 cevap kodu ile protokolün değiştirildiği isteğin yapıldığı tarayıcıya (istemciye) sunulur. |
HTTP 102 (Processing) | HTTP 102 durum kodu, istemci tarafından iletilen isteğin sunucu tarafından işlenmekte olduğunun bildirildiği yanıttır. Bu yanıtın gönderilmesindeki temel amaç istemci tarafından sunucuya iletilen isteğin time out oluşunun önüne geçilmesidir. |
HTTP 103 (Early Hints) | İstemci tarafından sunucuya gönderilen isteğe yönelik sunucu tarafından bir cevap verilmeden önce bazı yanıt başlıkları döndürmek için HTTP 103 durum kodu kullanılır. |
2xx Başarılı HTTP Durum Kodları
Durum Kodu | Açıklama |
---|
HTTP 200 (OK) | İstemci tarafından sunucuya gönderilen istek başarı ile yanıtlanmıştır. Sunucuya gönderilen isteğin yapısına göre değişmek ile birlikte sunucudan gönderilen yanıtta isteğe yönelik data mevcuttur. |
HTTP 201 (Created) | Sunucu, istemciden gelen isteğe başarılı yanıt verirken, isteğe yönelik uygun bir yeni kaynak yarattığında HTTP 201 durum kodu kullanılır. |
HTTP 202 (Accepted) | İstemci tarafından sunucuya gönderilen isteğin sunucu tarafından kabul edildiği ancak isteğin henüz sunucu tarafında işlenmekte olduğu durumda kullanılır. HTTP 202 durum kodu ile döndürülen yanıt sonrasında istemciden gelen isteğin tamamlanıp tamamlanmayacağı kesin değildir. İstek başarısız sonuçlanabilir. |
HTTP 203 (Non-Authoritative Information) | İstemci tarafından gönderilen istek sunucu tarafından başarılı olarak yanıtlandığında ancak sunucudan gönderilen meta datalar istemciye ulaşırken değişikliğe uğradığında HTTP 203 durum kodu gönderilir. Bu noktada sunucudan gelen yanıtın istemciye ulaşırken değişikliğe uğraması genellikle proxy kullanımının olduğu durumda yaşanır. |
HTTP 204 (No Content) | İstemci tarafından gönderilen istek sunucu tarafından başarılı şekilde işlenildiği halde istemciye döndürülecek herhangi bir içerik olmadığında HTTP 204 durum kodu kullanılır. Kullanıcıdan eski yada farklı bir içeriğe yönelik istek göndermesi beklenilir. |
HTTP 205 (Reset Content) | İstemci tarafından gönderilen istek başarılı şekilde yanıtlandığında ve isteğin dokümanın görüntüsünde bir değişiklik yarattığı durumda (dokümanı başlangıç haline döndürme vb) HTTP 205 durum kodu gönderilir. Yani örneğin kullanıcı bir HTML doküman üzerinde reset tuşuna bastığında yanıt olarak HTTP 205 durum kodu döndürülür. |
HTTP 206 (Partial Content) | İstemci (tarayıcı) header bölümünde range headers kullanıyor ise HTTP 206 durum kodu kullanılır. Bu header kullanıldığında istemci sunucudan gönderilen dokumanı isteği doğrultusunda durdurup, devam ettirebilir. Örneğin; Bir istek yaptığınız sunucudan gelen indirme dosyasını durdurup başlatabilmeniz bu duruma örnektir. |
HTTP 207 (Multi Status) | İstemci tarafından gönderilen isteğe sunucu tarafından verilen yanıt içerisinde birden fazla HTTP durum kodu barındıran bir XML Dokümanı döndürülüyor ise HTTP 207 durum kodu kullanılır. Gönderilen XML dokümanı içerisindeki datalar istekden bağımsız olarak farklı farklı çalışmalarda görev alırlar. |
3xx Yönlendirme HTTP Durum Kodları
Durum Kodu | Açıklama |
---|
HTTP 300 (Multiple Choices) | İstemci tarafından sunucuya iletilen istek ile alakalı sunucudan cevap olarak çok sayıda farklı kaynak dönüşünün yapılabildiği durumlarda HTTP 300 durum kodu kullanılır. Sunucu tarafından cevap olarak döndürülen kaynaklardan istemci (kullanıcı) bir tercih yapmalıdır. Eğer sunucu bu tercih edilebilir kaynaklardan bir tanesini tercih ediyorsa bu locationheader bölümünde belirtilir. |
HTTP 301 (Permanent Redirect) | İstemci tarafından istek gönderilen web sayfasının tamamen taşındığı durumda sunucu tarafından HTTP 301 durum kodu, yanıt olarak gönderilir. Kullanıcı tarafından sunucuya gönderilen istek şekli Get veya Head olarak yapılmış ise kullanıcı (istemci) doğrudan yeni yönlendirilmiş URL adresine gönderilir. |
HTTP 302 (Temporary Redirect) | İstemci tarafından istek gönderilen web sayfasının geçici süreli ile farklı bir URL adresine taşındığı durumda sunucu HTTP 302 durum kodunu yanıt olarak gönderir. Sunucu gönderdiği bu yanıt ile istemciye, ulaşmak isteği kaynağa ulaşmak için bu URL’yi kullanmaya devam etmesi gerektiği mesajını verir. 301 yönlendirmeden farklı olarak burada gerçekleşen yönlendirme arama motoru botları tarafından geçerli bir yönlendirme olarak kabul edilmez ve pagerank aktarımı yapılmaz. (Geçici kabul edilir) |
HTTP 303 (See Others) | İstemci tarafından sunucuya iletilen isteğin bu URL ile getfetched edilmesi mümkün değil ise sunucu yanıt olarak HTTP 303 kodu döndürür. Kullanıcıdan ilgili web sayfası ile alakalı gelen istek get ile yapıldığında ve URL get ile sunucu tarafından yanıtlanamadığında sunucu HTTP 303 kodu göndererek farklı bir şekilde istekte bulunulmasını yada farklı bir URL’ye istek de bulunulmasını istemciye iletilir. İstemci tarafından istek de bulunulan kaynak post, delete vb gibi istek biçimlerinde bulunabilir olacaktır ancak Get ile kullanılamıyorsa HTTP 303 yanıt olarak döndürülecektir. |
HTTP 304 (Not Modified) | İstemci tarafından sunucuya istek gönderilen web sayfası yada doküman, kullanıcının son bağlantı kurduğu süreçten sonra herhangi bir değişikliğe uğramadıysa sunucu tarafından HTTP 304 yanıt kodu döndürülür. Buradaki temel amaç değişikliğe uğraşmamış dokümanları istemciye bildirerek Cache kullanımını tetiklemek ve açılış hızlarını arttırmaktır. |
HTTP 305 (Use Proxy) | İstemci tarafından istek gönderilen web sayfasının yalnızca proxy (farklı lokasyon header’ı) ile görüntülenebilir olduğu durumda sunucu, HTTP 305 durum kodunu yanıt olarak döndürür. |
HTTP 307 ( Temporary Redirect) | İstemci tarafından istek gönderilen adres sunucu tarafından bulunduysa ancak farklı bir URL adresi üzerinden yayın yapılıyor ise yanıt olarak HTTP 307 durum kodu döndürülür. HTTP 302 durum kodunda olduğu gibi sunucu gönderdiği bu yanıt ile istemciye, ulaşmak isteği kaynağa ulaşmak için bu URL’yi kullanmaya devam etmesi gerektiği mesajını verir. 302 redirect ile 307 arasındaki en temel fark 307’de yapılan isteğin şekli ve isteğin temel bölümünün değişiklik göstermemesidir. |
HTTP 308 (Permanent Redirect) | HTTP 308 durum kodu, HTTP 301’in bir alternatifi olarak istemciden sunucuya gönderilen isteğin başarılı bir şekilde farklı bir URL’ye taşındığının bildirilmesi amacıyla sunucu tarafından yanıt olarak döndürülür. HTTP 301 yönlendirmenin aksine HTTP istek methodunun değişmesine HTTP 308 yönlendirmede izin verilmez. |
4xx İstemci Hatası HTTP Durum Kodları
Durum Kodu | Açıklama |
---|
HTTP 400 (Bad Request) | İstemci tarafından sunucuya gönderilen isteğin yanlış bir istek yapılması (syntax error) sebebiyle cevaplanamadığı durumda gönderilen HTTP durum kodudur |
HTTP 401 (Unauthorized) | İstemci tarafından istek gönderilen web sayfası ile alakalı işlemin yetkilendirme yapılmadan gerçekleştirilemeyeceği bilgisinin paylaşılması amacıyla sunucu tarafından HTTP 401 durum kodu yanıt olarak döndürülür. Yetkilendirme işleminin yapılabilmesi için sunucu, istemciye WWW_Authenticate server response header döndürerek yetkilendirme işleminin nasıl yapılabileceği bildirir. |
HTTP 402 (Payment Required) | İstemci tarafından istek gönderilen web sayfasının görüntülenebilmesi için kullanıcının ödeme yapması gerektiği bilgisi sunucu tarafından HTTP 402 durum kodu ile bildirilir. Genellikle bir sonraki aşamada gösterilecek bir sayfa yada kullanımı belirli limitlere bağlanmış sayfalarda HTTP 402 hata kodları ile karşılaşılması muhtemeldir. |
HTTP 403 (Forbidden) | İstemci tarafından sunucuya iletilen isteğin sunucu tarafından karşılanabilir durumda olduğu ancak istemcinin bu kaynağa erişim yetkisinin olmadığı durumlarda HTTP 403 durum kodu yanıt olarak döndürülür. İstemciden yetkisiz isteği tekrarlamaması istenir. |
HTTP 404 (Not Found) | Sunucu, istemci tarafından istek gönderilen web sayfası ile alakalı kaynakları bulamadığında yanıt olarak HTTP 404 durum kodunu döndürür. Web dünyasında en sık karşılaşılan hatadır. |
HTTP 405 (Method Not Allowed) | İstemci tarafından gönderilen isteğin HTTP istek methoduna (GET veya POST) izin verilmediği durumlarda HTTP 405 durum kodu kullanılır. Genellikle sunucunun istek methodunu tanıdığı ancak bağlanılmak istenen kaynağın bu methoda izin vermediği durumlarda karşılaşılır. Aynı şekilde sunucunun tanımadığı istek methodlarının kullanıldığı durumlarda da bu hata kodu ile karşılaşılır.
Örnek: WebDav |
HTTP 406 (Not Acceptable) | İstemciden sunucuya gönderilen isteğin, istek yapıldığı hali (formu) ile sunulamadığı durumlarda sunucu tarafıdan HTTP 406 durum kodu yanıt olarak döndürülür. Örneğin istemci, sunucuda yalnızca png olarak bulunan bir resme gif formatı üzerinden istek gönderirse sunucu bu isteğe yanıt olarak HTTP 406 döndürür. |
HTTP 407 (Proxy Authentication Required) | HTTP 401 isteğine benzer şekilde HTTP 407 durum kodu durumunda sunucu, bir doküman ile alakalı istek gönderen istemciden doğrulama ister. Proxy’nin kullanıldığı durumda sunucu, proxy’nin yetkilendirmesi ile alakalı istek de bulunarak istemciden bağlantı kurmadan önce Proxy’i doğrulamasını ister. |
HTTP 408 (Request Timed Out) | İstemci tarafından sunucuya iletilen isteğin belirtilen süre içerisinde sunucu tarafından tamamlanamadığı durumda yanıt olarak HTTP 408 durum kodu döndürülür. |
HTTP 409 (Conflict) | İstemci tarafından gönderilen isteğin işlenmesi halinde istek yapılan kaynakta bir karışıklığa neden olacağı durumlarda sunucu yanıt olarak HTTP 409 durum kodunu döndürür. |
HTTP 410 (Gone) | İstemci tarafından istek gönderilen kaynağın sunucudan kesin olarak silindiği ve geri gelmeyeceği durumlarda sunucu yanıt olarak HTTP 410 durum kodunu döndürür. Özellikle arama motorlarına bir içeriğin kalıcı olarak silindiği bilgisi HTTP 410 durum kodu ile verilir. |
HTTP 411 (Length Header Required) | İstemciden gönderilen istek sunucu tarafından content-length header içermemesi sebebiyle işlenemediği durumda yanıt olarak HTTP 411 durum kodu döndürülür. |
HTTP 412 (Precondition Failed) | İstemci tarafından sunucuya iletilen bir durumun karşılanamadığı durumda yanıt olarak HTTP 412 döndürülür. |
HTTP 413 (Request Entity Too Large) | İstemci tarafından sunucuya iletilen dosya isteğinin boyutunun çok büyük olduğu durumlarda sunucu işlemi red eder ve yanıt olarak HTTP 413 durum kodunu döndürür. |
HTTP 414 (Requested URL Too Large) | İstemci tarafından istek gönderilen URL çok büyük (uzun) olduğunda sunucu tarafından yanıt olarak HTTP 414 durum kodu gönderilir. HTTP standartları gereği URL uzunluğu ile alakalı kesin bir limit yoktur ancak server yapılanma ayarlarından kaynaklı olarak URL boyutu limitlendirilmiş olabilir. |
HTTP 415 (Unsupported Media Type) | İstemci tarafından istek gönderilen dosyanın medya tipinin sunucu tarafından desteklenmediği durumlarda yanıt olarak HTTP 415 durum kodu döndürülür. |
HTTP 416 (Requested range not satisfiable) | İstemci tarafından istenilen kaynağın bir bölümü geçersiz veya mevcut değil ise sunucu yanıt olarak HTTP 416 durum kodunu döndürür. Bu tarz durumlar genellikle kısmi (aşamalı) indirmelerde görünür. |
HTTP 417 (Expectation Failed) | Sunucu, istemci tarafından gönderilen isteğin header bölümünde yer alan expect header alanındaki şartları karşılamadığında yanıt olarak HTTP 417 durum kodunu döndürür. |
HTTP 421 (Misdirected Request) | İstemci tarafından gönderilen istek, yanıt gönderilemeyen bir sunucuya iletildiğinde cevap olarak HTTP 421 durum kodu döndürülür. |
HTTP 422 (Unprocessable Entity) | İstemci tarafından sunucuya gönderilen isteğin semantic hatalar içerdiği durumda sunucu isteği işleyemez ve yanıt olarak HTTP 422 durum kodunu döndürür. |
HTTP 423 (Locked) | İstemci tarafından istek gönderilen kaynağın mevcutta kilitli bir kaynak olduğu bilgisi sunucu tarafından HTTP 423 durum kodu ile bildirilir. |
HTTP 424 (Failed Dependency) | İstemci tarafından istek gönderilen kaynak, ilgili kaynak ile alakalı bir önceki kaynağın işlenememesi sebebiyle işleme alınamadığında sunucu, http 424 durum kodunu döndürür. |
HTTP 425 (Too Early) | HTTP 425 durum kodu, sunucuya iletilen bir isteğin tekrardan oynatılabilir bir durum da olması sebebiyle sunucunun ilgili isteği işleme almak istemediği durumlarda yanıt olarak gönderilir. |
HTTP 426 (Upgrade Required) | İstek gönderen istemcinin Transport Layer Security (TLS / 1.0) seviyesine yükseltme yapması gerektiği durumda yanıt olarak HTTP 426 durum kodu döndürülür. |
HTTP 428 (Precondition Required) | İstemci tarafından sunucuya gönderilen isteğin işlenebilmesi için sunucunun önce koşulların belirtilmesini istediği durumda yanıt olarak HTTP 428 durum kodu döndürülür. |
HTTP 429 (Too Many Requests) | İstemci tarafından sunucuya kısıtlı bir süre içerisinde çok sayıda istek gönderildiğinde sunucu yanıt olarak HTTP 429 durum kodunu döndürür. |
HTTP 451 (Unavailable For Legal Reasons) | İstemcinin erişim sağlamak istediği kaynak bir bölgede yada ülkede hukuki olarak engellendiyse sunucu yanıt olarak HTTP 451 durum kodunu döndürür. Bu engellemenin nedeni telif, hukuki yasaklama (karartma) yada ülkesel engelleme olabilir. |
5xx Sunucu HTTP Durum Kodları
Durum Kodu | Açıklama |
---|
HTTP 500 (Internal Server Error) | Sunucu, istemciden gelen isteği, belirlenen dahili bir hata sebebiyle işleyemediğinde yanıt olarak HTTP 500 durum kodunu döndürür. Sunucuda yer alan programlarda yaşanan hatalar, veritabanı hataları gibi nedenler ile sunucu isteği işleyemeyebilir. |
HTTP 501 (Not Implemented) | HTTP 501 durum kodu, sunucu, istemciden gelen isteği işleyebilecek fonksiyonlara sahip olmadığında ortaya çıkan hataya yönelik sunucunun döndürdüğü bir yanıt kodudur. Bu sorun genellikle web host kaynaklıdır ve web host (hosting sağlayıcısı) tarafında çözülür. |
HTTP 502 (Bad Gateway) | Proxy’nin kullanıldığı durumlarda veri akışlarının sağlandığı sunuculardan bir tanesi diğerine anlaşılamayan bir cevap kodu döndürdüğünde istemciye yanıt olarak HTTP 502 durum kodu gönderilir. |
HTTP 503 (Service Unavailable) | Sunucu hizmetinin kullanılamadığı zamanlarda sunucu istemciye yanıt olarak HTTP 503 döndürür. Genellikle çok fazla trafik alan sitelerde yoğun data transferi sonrası sunucu şişmesi veya sunucunun bakıma alındığı durumlarda görülür. Sunucunuz sitenizin trafiğini kaldırabilecek yeterliliğe sahip değilse küçük ve orta ölçekli sitelerde de görülebilir. |
HTTP 504 (Gateway Time-out) | Proxy kullanımı ile bağlantı yapıldığı durumda proxy sunucunun isteği timeout (zaman aşımı) nedeniyle işleyemediği durumda yanıt olarak HTTP 504 durum kodu istemciye döndürülür. |
HTTP 505 (HTTP Version Not Supported) | İstek gönderilen HTTP sürümü desteklenmediğinde yanıt olarak HTTP 505 durum kodu döndürülür. |
HTTP 507 (Insufficient Storage) | İstemciden sunucuya gönderilen istek, sunucu tarafında sunucunun depolama alanının yetersizliği sebebiyle işleme alınamadığında sunucu, yanıt olarak HTTP 507 durum kodu döndürür. |
HTTP 509 (Bandwidth Limit Exceeded) | İstemciden sunucuya iletilen istek, işlendiği takdirde sunucunun trafik bant genişliğini dolduracağı sebebiyle reddedildiğinde sunucu yanıt olarak HTTP 509 durum kodunu döndürür. |
HTTP 511 (Network Authentication Required) | İstemcinin ağ ile bağlantı kurabilmesi için öncelikle doğrulama yapması gerektiği durumda HTTP 511 durum kodu yanıt olarak döndürülür. |
HTTP 521 (Web Server is Down) | HTTP 521 hatası cloudflare kullanılan web sitelerinde geçerli olan bir durum kodudur. İstemci (tarayıcı) Cloudflare ile sağlıklı şekilde bağlantı kurduğunda ancak Cloudflare, web sayfasının sunucusu ile bağlantı kuramadığında yanıt olarak HTTP 521 hata kodu döndürülür. Burada istek de bulunulan web sayfasının bulunduğu sunucunun yanıt vermediği cloudflare aracılığı ile bildirilir. |
HTTP Durum Kodları SEO için Neden Önemlidir?
Google botları başta olmak üzere arama motoru botları belirli sürelerle web sitenize gelerek sitenizi tararlar. Bu taramalar esnasında sayfalarınıza yönelik sunucudan gönderilen HTTP yanıtları arama motoru botları tarafından da işlenmektedir. Bu bağlamda başta Google botları olmak üzere arama motoru botları sitenizin herhangi bir sayfası ile alakalı bir istek gönderdiğinde sunucudan gelen yanıtı anlamlandırarak sayfanızın çalışıp çalışmadığı yada çalışıyorsa çalışma biçimini işaretleyerek algoritmik süreçlere dahil eder.
SEO çalışmaları ve arama motorlarında indekslenme süreçlerinde HTTP 100 ve 200 kodlu yanıtlar bir problem değil hatta sitenin sağlıklı çalıştığının göstergeleridir ve arama motoru süreçlerini negatif etkilemezler. Ancak 4xx (400) ve 5xx (500) kodlu HTTP yanıtları, kullanıcı yada server tarafında belirli problemlerin olduğunu arama motoru botlarına aktarır ve buda ilgili durumun sebebine bağlı olarak sayfalarınızın değerlendirilme süreçlerini etkiler.
4xx ve özellikle de 5xx hata kodlu HTTP yanıtları, sitenizin tarama bütçesini negatif olarak tüketirler ve çoğu durumda sitenizin taranabilirliği ile alakalı arama motoru botlarına negatif sinyaller göndererek sitenizin tarama indekslenme süreçlerine etkileyebilirler.
Çok sayıda 4xx ve 5xx hata kodlu URL barındıran web siteleri, ilgili hataları düzeltmedikleri takdirde sitelerinin tarama bütçeleri (tarama sıklığı) arama motorları tarafından düşürebilir ve ilgili durum (hataya bağlı olmakla birlikte) sitenin genel kalite sinyallerini etkileyerek sıralama kayıplarına neden olabilir.
Son olarak 3xx (300) HTTP kodları, üst bölümde belirttiğimiz gibi yönlendirilmiş linkleri ifade eden sınıftır. 3xx HTTP durum koduna sahip sayfalarda bir yönlendirme işlemi uygulandığı için ilgili durum ile alakalı tarayıcıya bilgi verilir. Kullanıcı tarafından yalın olarak tarayıcıda gözükmeyen bu durumun SEO tarafında pagerank aktarımı gibi son derece önemli bir etkisi vardır.
301 (permanent redirect) kalıcı yönlendirme ile yönlendirilmiş bir sayfa mevcutta sahip olduğu pagerank etkinliğini herhangi bir kayıp yaşamadan yönlendirildiği sayfaya aktarabilir. Bunun sağlanmasında ki en temel kriter 301 yani kalıcı olarak bir sayfanın başka bir sayfaya yönlendirilmiş olduğunun HTTP durum kodları vasıtasıyla arama motorlarına bildirilmesidir.
301 HTTP durum kodu dışında kalan 302 ve 307 yönlendirmelerde, yönlendirmenin “geçici” veya “güvenlik” amaçlı gerçekleşmesi sebebiyle bir pagerank aktarımı söz konusu olmaz.
HTTP Durum Kodları Google Search Console’da Nasıl Kontrol Edilir?
Google’ın web sayfalarınızdaki HTTP durum kodlarını nasıl görüntülediğini öğrenmenin en kolay yollarından biri de Google Search Console (GSC) üzerinden kontrol sağlamaktır. Google yıllar içerisinde sürekli olarak geliştirdiği Search Console ile web site yöneticilerine tek bir panel üstünden web sitelerini kontrol etme şansını tanımaktadır.
Bu bağlamda HTTP durum kodları ile alakalı performansınızı da yine Search Console üzerinden görüntüleyebilirsiniz.
Bunun için ilk olarak Google Search Console’a giriş yaptıktan sonra üstteki görselde görebileceğiniz gibi dizin (index) bölümünün altında yer alan Kapsam veya ingilizce paneller için Coverage bölümüne giriş yapabilirsiniz.
Sitenizin 3xx, 4xx ve 5xx hata kodlu URL adreslerini görüntülemek için kapsam bölümünde hata (errors) ve hariç bırakıldı (excluded) bölümlerini kullanabilirsiniz.
Özellikle hariç bırakıldı (excluded) bölümünde yer alan tarama anormalliği (crawl anomaly) gibi başlıklar altında sitenizin 4xx ve 5xx hatası verip tarama aşamasında sorunla karşılaşılmış sayfalarını görüntüleyerek ilgili sayfalara yönelik aksiyon alabilirsiniz.