IHS Blog

Http Server Hata / Durum Kodları ve Anlamları

http-durum-kodlari-ve-anlamlari

Web siteleri hayatımızın ve günlük rutinlerimizin neredeyse merkezi haline geldi. Haberlerden araştırmalara, alışverişten haberleşmeye kadar her alanda avucumuzdaki kaynak konumunda olan interneti bizim için kullanışlı kılan web siteleri de zaman zaman sorunlarla karşılaşabiliyor. Bu gibi durumlarda sorunun neden kaynaklandığını anlamamızı sağlayan şey http durum kodlarıdır.

HTTP Hata/Durum Kodu Nedir?

Web sitelerinin servis edilirken, sayfanın getirilmesi sırasında veya sonucunda sunucu tarafından döndürülen üç haneli yanıt kodudur.

Aslında hata kodu demek yanlış çünkü; http durum kodları, sunucunun verdiği yanıtı bize göstermektedir. Biz ise bu durum kodlarını web sayfası servis edilirken başarılı ve herhangi bir sorun yoksa durum kodu, başarısız bir işlem gerçekleşiyor ise hata kodu olarak değerlendiriyoruz.

Örnekle açıklamak gerekirse;

www.ihs.com.tr adresini ziyaret etmeye çalıştığınızda 2xx, 3xx, 4xx, 5xx gibi http durum kodlarıyla sunucunun verdiği yanıtı değerlendirebiliriz.
Sırasıyla:
Başarılı İşlemlerde (herhangi bir sorun olmadan sayfanın servis edilebildiği durumlar)
2xx: Başarılı
Yönlendirme olaylarında (sayfanın başka bir sayfaya veya adrese yönlendirildiği durumlar)
3xx: Yönlendirme
Başarısız İşlemlerde (sayfanın servis edilemediği durumlar)
4xx: Sayfa bulunamadı
5xx: sunucu hatası

gibi anlamlar taşıyan http durum kodları sayesinde ziyaret ettiğiniz sayfanın durumunu kontrol edebilirsiniz. Ayrıca http durum/hata kodları kendi içlerinde de çeşitli alt anlamlar taşımaktadır. Durumun türüne göre farklı özellikleriyle tam olarak sunucunun verdiği yanıtı bu kodlar sayesinde tanımlayabilir, buna göre hata çözümleme, düzeltmeler, iyileştirmeler yapabiliriz.

HTTP Hata/Durum Kodlarının Anlamları nelerdir?

Kod

Mesaj

Açıklama

1xx

Bilgi
100Continueİsteğin başarıyla alındığını ve devam edilebileceği anlamına gelir.
101Switching ProtocolsSunucu, istemciden aldığı protokol değiştirme isteğine uyacağını belirtmektedir
102Processingİsteğin işlenmekte olduğunu bildirir.

2xx

Başarılı
200OKİstek başarıyla alınmış ve cevap başarılı bir şekilde verilmiştir.
201Createdİstek başarıyla gerçekleşmiş ve sunucuda yeni bir kaynak oluşturulmuştur..
202AcceptedSunucu istemciden gelen isteği kabul etti ancak henüz işlemedi.
203Non-Authoritative InformationSunucu isteği başarılı bir şekilde işledi, ancak başka kaynakta olabilecek bir bilgi döndürmektedir.
204No Contentİstek başarıyla alınmış ancak cevap olarak içerik döndürülmemektedir.
205Reset Contentİstek başarıyla alınmış ancak cevap olarak içerik döndürülmemektedir. Ancak içerik silinecektir. (form içindeki bilgiler).
206Partial ContentGET talepleri için kısmi içerik (içeriğin belirli bir parçası) başarıyla döndürülmüştür.
207Multi-StatusÇoklu Statü
210Content DifferentFarklı içerik

3xx

Yönlendirme
300Multiple ChoicesSunucuda, gelen isteğe göre birden fazla seçenek olduğunu bildirir. Sunucu gelen istek için seçeneği kendisi seçebilir veya seçenek listesini görüntüleyebilir.
301Moved PermanentlyBir kaynağın (veya sayfanın) kalıcı olarak başka bir yere (veya sayfaya) taşındığını bildirir ve o yere yönlendirme sağlar.
302Moved TemporarilyBir kaynağın (veya sayfanın) kalıcı olarak değil, geçici olarak başka bir kaynağa yönlendirir. Kaynağın ana adresi değişmemiştir.
303See OtherFarklı bir kaynağa GET yapılması gerektiğini belirtir.
304Not Modifiedİstenilen kaynakta daha önce yapılan istekten beri herhangi bir değişikliğin olmadığı belirtilir ve içerik gönderilmez.
305Use ProxySunucu tarafından döndürülen proxy’nin kullanılması gerektiği belirtilir.
307Temporary RedirectBir kaynağın (veya sayfanın) kalıcı değil geçici olarak başka bir kaynağa yönlendirir. 302 yönlendirmesinden farkı; yönlendirme sunucu üzerinde değil, tarayıcı üzerinde gerçekleşir.

4xx

İstemci hatası
400Bad RequestYapılan isteğin hatalı (isteğin yapısının hatalı) olduğu belirtilir.
401UnauthorizedYapılan istek için kimlik doğrulaması gerekiyor.
402Payment RequiredÖdeme gerekiyor. (gelecekte kullanılması için ayrılmıştır).
403Forbiddenİstek yapılan kaynağın yasaklandığını belirtir.
404Not Foundİstek yapılan kaynağın (veya sayfanın) bulunamadığını belirtir.
405Method Not Allowedİzin verilmeyen MetodSunucu , HTTP Method’u kabul etmiyor.
406Not Acceptableİstemcinin Accept header’ında verilen özellik karşılanamıyor.
407Proxy Authentication RequiredProxy üzerinden yetkilendirme gerekir.
408Timeoutİstek zaman aşımına uğradı (belirli bir sürede istek tamamlanamadı).
409Conflictİstek içinde çelişki (çakışma) var.
410GoneKaynak artık yok.
411Length Requiredİstekte “Content-Length” (içeriğin boyutu) belirtilmemiş.
412Precondition FailedSunucu istekte belirtilen bazı önkoşulları karşılamıyor.
413Request Entity Too Large İsteğin boyutu çok büyük olduğu için işlenemedi.
414Request-URI Too LongURI (URL) fazla büyük.
416Requested Range Not Satisfiableİstenilen kaynak, istenilen medya tipini desteklemiyor.
417Expectation failedİstek yapılan parça (bir dosyanın bir parçası vb..) sunucu tarafından verilemiyor veya uygun değil.
422Unprocessable entitySunucu “Expect” ile istenileni desteklemiyor veya yerine getiremiyor.
423Locked
424Method failure
451Unavailable For Legal ReasonsYasal nedenlerle gösterilemiyor

5xx

Sunucu hatası
500Internal Server ErrorSunucuda bir hata oluştu ve yapılan istek karşılanamadı.
501Not ImplementedSunucu istenilen isteği yerine getirecek şekilde yapılandırılmamıştır.
502Bad GatewayGateway veya Proxy sunucusu, kaynağın bulunduğu sunucudan (upstream sunucusu) cevap alamıyor.
503Service UnavailableSunucu şu anda hizmet vermiyor (kapalı veya erişilemiyor).
504Gateway TimeoutGateway veya Proxy sunucusu, kaynağın bulunduğu sunucudan (upstream sunucusu) belirli bir zaman içinde cevap alamadı.
505HTTP Version not supportedHTTP Protokol versiyonu desteklenmiyor.
507Insufficient storageSunucu, yapılan isteği isteği başarıyla tamamlamak için gereken boyutu depolayamadığından, yöntem gerçekleştirilemedi.

En çok karşılaşılan Http Durum Kodları

200 (OK) durum kodu

200 durum kodu her şeyin yolunda gittiğini ve sayfanın sorunsuz bir şekilde servis edildiğini belirtir.

301 Yönlendirme (Redirect Permanently)

301 yönlendirme, bir web sayfasını başka bir sayfaya kalıcı olarak yönlendirmeye yarayan bir http yönlendirme türüdür. 301 yöntemi ile yönlendirilen bir sayfa, kalıcı olarak kaynağı değiştirilerek yeni adresine taşınır.

Genel olarak 301 yönlendirmeleri web sitesinde içerik değiştirme, kategori değiştirme, hatalı ve çalışmayan sayfaların çalışan adreslere yönlendirilmesi için kullanılmaktadır. 301 kalıcı yönlendirme denmesinin sebebi, uygulandığı sayfanın sunucu tarafındaki kaynağını da değiştiriyor olması ve gelen istekleri yönlendirilen yeni adres üzerinden indexliyor olmasıdır. Bu durumda arama motorları da 301 yönlendirmesini gördüklerinde sitenizin backlinklerini, sayfa değeriini, otoritesi gibi değerleri de yeni sayfaya aktararak sayfayı yeni adresinde aynı özelliklerle işleme almaya devam eder ve bu; web sitenizin SEO performansı açısında oldukça önemli bir işlemdir.

301 yönlendirmesi nasıl yapılır?

301 yönlendirmesi web sitenizin .htaccess dosyasına yazacağınız basit bir kod parçacığıyla kolayca gerçekleştirebileceğiniz bir yönlendirmedir. .htaccess dosyanıza aşağıdaki kodları uygulayarak işlemi tamamlayabilirsiniz.

.htaccess 301 yönlendirme kodu:
Redirect 301 /eski-sayfa.html https://www.ihs.com.tr/yeni-sayfa.html

Burada dikkat etmeniz gereken nokta; sitenizi yönlendirdiğiniz sayfa hangi versiyonda açılıyorsa (www. veya www. olmadan) url’i tam olarak yazmanızdır. Çünkü eğer siteniz varsayılan olarak www. oladan açılıyorsa, yukarıdaki gibi bir kullanım önce www. olan versiyona yönlendirme yapacak, ardında da tekrar yönlendirilerek asıl olması gerek url yapınıza göre www. olmayan versiyon yönlendirilecektir. Bu gibi durumlar sürekli yönlendirme oluşturduğu için site performansınızı olumsuz yönde etkileyecektir. Eğer siteniz www.veya www. olmayan versiyonlar arasında otomatik yönlendirme yapmıyorsa kopya içerikle başınız derde girebilir. Bu yüzden canonical kullanımı yaptığınızdan emin olun.

301 yönlendirmesi ne kadar sürer?

301 yönlendirmesi .htaccess dosyasına yönlendirme kodu yazıldığı ve kaydedildiği anda hemen aktif olur. Yalnız sitenizdeki bu değişikliğin Google tarafından da indexlenmesi için, değişiklik yapıldıktan sonra Google’ın sitenizi ziyaret etmesi ve yaptığınız değişikliği indexleyerek arama sonuç sayfasına bunu yansıtması için yaklaşık (ortalama) 1 hafta süre içerisinde işlemi tamamlaması beklenmelidir. Eğer bu süre içerisinde google sitenizi ziyaret etmediyse, search console üzerinden google’a sayfayı incelemesi için gönderimde bulunabilirsiniz.

302 Yönlendirme (Moved Temporarily)

302 yönlendirmeleri bir web sayfasının veya kategorisinin geçici olarak başka bir adrese yönlendirilmesi işlemidir. 302 yönlendirmeleri, 301 yönlendirmeleri gibi kalıcı yönlendirme yapmaz.

302 yönlendirmeleri, web sitenizde yapacağınız bakım çalışmaları, süresi biten ancak daha sonra yeniden aktif edeceğiniz kampanyalar gibi kısa bir süre için kullanamayacağınız sayfalar için kullanılan ve arama motorları tarafından sayfanın sayfa değeri backlink ve otorite puanı gibi sayfaya ait özellikleri yönlendirilen sayfaya aktarmaz. Bu sayede kısa süreli olarak kullanamayacağınız bir kampanya sayfasını geçici olarak aktif bir kampanyaya yönlendirebilir, daha sonrasında tekrar yönlendirmeyi kaldırarak sayfayı asıl adresinde servis edebilirsiniz.

302 Yönlendirmesi nasıl yapılır?

302 yönlendirmesi diğer tüm yönlendirme türleri gibi .htaccess üzerinde kolayca aktif edilebilebilmektedir. Aşağıdaki kodu .htaccess dosyanıza eklemeniz yeterlidir.

.htaccess 302 yönlendirme kodu:
Redirect 302 /eski-sayfa.html https://www.ihs.com.tr/yeni-sayfa.html

Yönlendirme yaparken mutlaka siteniz hangi versiyonda açılıyorsa (www. veya www. olmadan) yönlendirilen sayfa url’ini o şekilde kullanmanız gerekmektedir. Eğer sitenizin kullanmadığı bir versiyona yönlendirme yaparsanız, siteniz asıl versiyona yönlendirme yapacağı için siteniz sürekli bir yönlendirme döngüsüne girecektir. Bu ise istemediğimiz bir durum oluşturmaktadır. Eğer siteniz www. veya www. olmayan versiyonlara yönlendirmeyi otomatik yapmıyorsa da kopya içerik durumu ortaya çıkabilecek sitenizin arama motorlarındaki performansı azalabilir. Bunu önlemek için de canonical kullanımı gerekmektedir.

307 Yönlendirme (Temporary Redirect)

307 yönlendirmesi 302 geçici yönlendirme gibi kullanılan bir yönlendirme türüdür. Fakat, 307 yönlendirmesinin diğer yönlendirme türlerinden farkı, yönlendirme sunucu tarafına değil, istemci (tarayıcı) tarafında gerçekleşmektedir. 307 yönlendirmeleri doğru kullanıldığında SEO açısından oldukça önemli bir yere sahiptir.

307 yönlendirmesini kullandığımız alan, bahsettiğimiz istemci (tarayıcı) tarafında kullanmamızın sebebi; örneğin web sayfasına gelen ziyaretçinin http’den https’e yönlendirilmesi gibi sayfanın servis edilmesini geciktirici yönlendirmeleri ortadan kaldırmak için kullanmaktır. Yani başka bir deyişle 307 yönlendirmesiyle web sitesine gelen http isteklerini tarayıcı tarafında direkt olarak https olarak almasını sağlayabiliyoruz. Dolayısıyla yönlendirmeyi sunucu tarafında işlemek yerine direkt olarak tarayıcı tarafından bu isteği gerçekleştirerek asıl sayfanın servis edilmesini sağlayabiliriz.

307 Yönlendirmesi Nasıl yapılır?

Bu konuda 307 Yönlendirmesinin SEO açısından nasıl kullanılabileceğinizi anlattığımız HSTS (HTTP Strict Transport Security) konumuzu incelemenizi öneriyoruz.

403 Forbidden Hatası

403 Forbidden hata kodu; yekisiz erişim nedeniyle karşılaştığınız bir hata kodudur. genellikle yetkiniz olmayan alanlara erişmeye çalıştığınız ya da size verilen yetkilerle girmek istediğiniz sayfaya erişiminizin kısıtlanması sonucu görebilirsiniz. Ayrıca yanlış .htaccess dosya ayarları da bu hataya sebep olabilmektedir.

403 Forbidden hatası Çözümü

1- Kullanıcı yetkileri düzenlemesi yapabilir,
2-.Htaccess dosyanızı düzenleyebilirsiniz.

404 Not Found (Sayfa Bulunamadı) Hatası

404 Not Found hatası; varolmayan bir sayfaya erişmeye çalıştığınızda aldığınız bir hata türüdür. Erişmeye çalıştığınız sayfa silinmiş veya hiç varolmamış veya çalışmayan bir sayfaya yönlendirilmiş olabilir. Dolayısıyla artık varolmayan bir sayfaya erişmek mümkün olmayacağından dolayı bu 404 hatasını gidermek için sayfayı yanlışlıkla silip silmediğinizi kontrol edebilir, aynı url’e sahip başka bir sayfa oluşturabilir, yanlış bir yönlendirme varsa bunu kaldırarak kontrol edebilir veya hata alan sayfayı yukarıda anlattığımız gibi 301 yönlendirmesi kullanarak yeni adresine veya benzer bir sayfaya yönlendirebilirsiniz.

Aynı zamanda 404 hatası alan sayfalar daha önce sundukları içeriği artık sunamayacakları için arama motorları tarafından negatif bir değerlendirmeye tabi tutulurlar ve varolan sayfanızın arama motorundaki otorite puanı, backlink değerleri ve diğer özellikleri bundan olumsuz etkilenir. bundan da kurtulmanın en iyi yolu 301 yönlendirmesiyle yeni adrese taşımak veya aynı konuda daha iyi bir içeriğe yine 301 marifetiyle sayfayı yönlendirmektir.

500 Sunucu Hatası (Internal Server Error)

500 Internal Server hatası; suncunun yazılım kaynaklı yaşadığı bir problem nedeniyle cevap veremediğini belirtir. Bunun sebebi genellikle; yanlış yapılandırılmış .htaccess dosyası veya website yazılımında yapılan değişikliklerdir. Yanlış yapılandırma sebebiyle sunucu isteklere yanıt veremiyor olabilir. Bu yüzden aşağıdaki çözüm yollarını inceleyebilirsiniz.

500 Sunucu Hatası Çözümü

Eğer 500 hatası alırsanız öncelikle .htaccess dosyanızda yanlış yapılandırılan veya eksik kalmış bir kod parçacığının olup olmadığını kontrol edin.

Ayrıca uyumsuz php sürümleri ve wordpress için uyumsuz eklentiler de 500 Internal Server hatasını almanıza sebep olabilir. bu durumlarda da öncelikle sitenizin uygun php sürümünde çalışıp çalışmadığını kontrol etmeli, ardından php bellek kapasitesini arttırabilirsiniz.

Eğer sorun wordpress’te karşınıza çıkıyorsa mutlaka öncelikle 500 hatasına sebep olan şeyin eklenti kaynaklı olup olmadığına göz atın, ardından aynı şekilde bellek kapasitesini arttırmak veya function php dosyası üzerinde oynama yaptıysanız değişiklikleri tekrar gözden geçirmelisiniz. Aynı zamanda uyumlu wordpress sürümünü kullandığınızdan emin olmanız gerekmektedir. Tüm bu işlemleri gerçekleştirmeden önce site yedeğinizi aldığınızdan emin olmanız, olası bir problemde başınızın ağrımasını engelleyecektir 🙂

503 Service Unavailable Hatası

503 Service Unavailable Hatası, bir sunucunun isteği yerine getiremediğini belirten bir HTTP yanıt durumu kodudur. Bunun nedeni, sunucunun bakım nedeniyle aşırı yüklenmesi veya düşmesi olabilir.
Bu özel yanıt kodu, bir süre önce araştırdığımız 500 Dahili Sunucu Hatası gibi bir koddan farklıdır. 500 Internal Server Hatası, sunucunun isteği tamamıyla işlemesini engelleyen bir sorunu gösterirken, 503 Service Unavailable Hatası, isteği işleme koyabildiği ve 503 yanıt kodunu döndürmeyi seçtiğinden, sunucunun hala düzgün çalıştığını gösterir.

Bunun gibi bir hatayı gösteren çoğu HTTP yanıt kodunda olduğu gibi, Kullanılamayan bir 503 hatasının kesin nedenini belirlemek zor olabilir.
İstemci, bir web uygulaması, bir web sunucusu ve genellikle birden fazla üçüncü taraf web hizmeti arasındaki karmaşık ilişkiyi temsil etmek için kullanılan düzinelerce olası HTTP durum kodu vardır, bu nedenle belirli bir durum kodunun nedenini belirlemek zor olabilir.

503 Service Unavailable hatasının çözümü

503 hatası ve diğer tüm 5xx kodu ile döndürülen http durum kodları, size sunucu tarafında bir sorun olduğunu anlatır. 503 hatası ise aşırı yüklenme veya server’ın down olduğu durumlarda karşılaşabildiğiniz bir hata kodudur. 503 hatasının sebebi yazılım veya diğer etkenler değil tamamiyle sunucunun işleme yanıt verememesinden kaynaklanmaktadır. dolayısıyla öncelikle sitenizin temiz bir yedeğini alarak işe başlayabilirsiniz.

Daha sonrasında ise sunucuya yapılan aşırı istek/saldırı olup olmadığını kontrol edebilirsiniz. Genellikle aşırı trafik sebebiyle sunucunun yanıt verememesi normal bir durumdur. sistem kaynaklarını arttırabilir, sunucuyu yeniden başlatmayı deneyebilirsiniz.

Http durum kodları ve web sitenizde yaşayabileceğiniz sorunlara ışık tutmaya çalıştığımız bu yazımız ve dahası için bültenimize abone olmayı unutmayın 🙂

Exit mobile version