HTTP durum kodları bir internet sitesine erişilmeye çalışıldığında sunucudan gelen küçük notlar gibidir. Site içeriği ile alakası yoktur. Bunun yerine sunucu ziyaretçilere mevcut sayfanın görüntülenmesi için gelen isteğe cevap niteliğinde göstermektedir. Bu kodlar ziyaretçi siteyle her etkileşime geçtiğinde oluşmaktadır ancak büyük bir kısmı arka planda kalmaktadır. Ziyaretçiler sadece site içeriğini görmektedir. Site sahipleri ya da geliştiricileri için bu hata kodları büyük bir öneme sahiptir. HTTP hata / durum kodları internet sitesinde meydana gelen bir hatayı anlamak için yol gösterici rolü üstlenmektedir. Site sahipleri bu durum kodları sayesinde problemin nerede olduğunu ve nasıl çözüleceğini planlayabilmektedir.
HTTP Hata/Durum Kodu Nedir?
Her bir URL ziyaret edildiğinde tarayıcı erişilmek istenen internet sitesinin web sunucusuna br istek göndermektedir. Sunucu ise gelen bu isteği işler ve HTTP başlığı ile beraber ilişkili kaynakları istemciye gönderir. HTTP durum kodları tarayıcıya HTTP başlığı altında gönderilmektedir. Bu işlem herhangi bir linke tıklandığında tekrar yapılmaktadır. Ancak çok nadiren kodlar kullanıcının karşısına çıkmaktadır. Bu nadir durumlar genellikle bir şeylerin yanlış olduğu zamanlardır.
HTTP Hata/Durum Kodlarının Anlamları Nelerdir?
HTTP kodları kendi içerisinde 5 sınıfa ayrılmaktadır. Birbirleriyle benzer ya da ilişkili içeriğe sahip olan kodlar aynı sınıfta bulunmaktadır. Bu sınıfların ne anlama geldiğini bilmek aynı zamanda ne yapılacağını da bilmek anlamına gelmektedir.
- 100: Tarayıcı tarafından yönlendirilen isteğin işlenmeye devam ettiğini bildiren sınıftır.
- 200: Tarayıcıdan gelen isteğin sunucu tarafından başarılı bir şekilde alındığı ve işlendiğini gösterir.
- 300: Yönlendirme olduğunu gösteren sınıftır. Erişilmek istenen kaynak yeni bir kaynağa yönlendirildiğinde kullanılır.
- 400: Gelen istekle ilgili bir problem olduğunda gösterilir.
- 500: Gelen isteğin kabul edildiğini ancak sunucudaki bir hata yüzünden isteğin yerine getirilemediğini göstermektedir.
200 (OK) Durum Kodu
İsteğin başarılı bir şekilde işlendiğinde ve yerine getirildiğinde oluşturulan standart durum kodudur. İsteğe verilen yanıtla beraber döndürülen bilgiler gelen isteğe bağlı olmaktadır.
GET: İstenen kaynağa karşılık gelen varlık yanıtta gönderilir.
HEAD: İstenen kaynağa karşılık gelen verinin başlık alanları, yanıtta mesajın gövdesi olmadan gönderilir.
POST: Eylemin sonucunu açıklayan ya da içeren varlık.
TRACE: Sunucu tarafından isteğin alındığını içeren varlık.
301 Yönlendirme (Moved Permanently)
İstenen kaynak kalıcı olarak yeni bir URI’ye taşındığında oluşan HTTP durumudur. Gelecekte bu kaynağa erişmek için kullanıcıya geri döndürülen URI’nin kullanılması gerekmektedir. Sitenin bir sayfası kalıcı bir şekilde başka adrese taşındığında kullanıcı otomatik olarak yeni adrese yönlendirilir. Bunun bilgisi de 301 HTTP kodu ile bildirilmektedir.
302 Yönlendirme (Moved Temporarily)
302 durum kodu, 301’e oldukça benzerdir. 302 sonucunda da istemci tarafından erişilmek istenen kaynak farklı bir adreste yer almaktadır. Ancak bu değişiklik kalıcı olduğunda 301 durum kodu oluşurken geçici olduğunda 302 durum kodu oluşmaktadır. Kullanıcılar daha sonra erişmek istedikleri adrese mevcut link ile erişebilmektedir.
307 Yönlendirme (Temporary Redirect)
307 yönlendirmesi işlev olarak 302 yönlendirmesine oldukça benzerdir. 307 durum kodu da erişilmek istenen kaynağın geçici olarak farklı bir adrese alındığını göstermektedir. 307 ile 302’nin işlevsel farklılıkları bulunmaktadır. 307 iç yönlendirmelerde de kullanılmaktadır. En büyük fark ise 307 kullanılırken HTTP metodu değişmeden kalmaktadır. GET kullanıldığında yönlendirmenin bir parçası olarak yine GET geçmektedir.
403 Forbidden Hatası
Kullanıcıdan gelen isteğin sunucu tarafından anlaşıldığı ancak bunun karşılanmasının mümkün olmadığı durumlarda 403 hata kodu oluşmaktadır. Kullanıcının erişime izni olmadığı kaynaklara erişmeye çalıştığı durumlarda ekrana gelmektedir. Bazı durumlarda varsa kullanıcı girişi yapmak ve adresi tekrar ziyaret etmek erişilmek istenen kaynağa ulaşmakta yardımcı olabilmektedir.
404 Not Found (Sayfa Bulunamadı) Hatası
404 kullanıcıların en çok karşılaştığı HTTP durum kodlarından bir tanesidir. Sunucuda gelen istek ile ilgili hiçbir şey bulunamadığında 404 hata kodu oluşmaktadır. Kaynağın bulunamamış olmasının geçici mi yoksa kalıcı mı olduğunun bir bilgisi yer almaktadır. Ancak gelecekte ziyaret edilen adreste kaynak bulunabilmektedir.
500 Sunucu Hatası (Internal Server Error)
Kullanıcıların en çok karşılaştığı bir diğer HTTP hata kodu da 500’dür. 500 hata kodu en belirsiz HTTP durumlardan bir tanesidir. Sunucuya gelen istek tamamlanamadığında ve sunucuda beklenmeyen bir durum meydana geldiğinde 500 kodu oluşmaktadır. Bunun nedeni genelde sunucu tarafındadır. Ancak bazı durumlarda kullanıcıların sayfayı yenilemesi yeterli olmaktadır.
503 Service Unavailable Hatası
Sunucunun gelen isteği işleyememesi, geçici olarak aşırı yüklenmesi ya da bakımda olması durumunda 503 Service Unavaliable hatası oluşmaktadır. Bu hata da 500, 404 ve 403 gibi kullanıcılar tarafından en çok görülen hatadır. 503 hatası genellikle bir gecikmeye işaret etmektedir ve adres bir süre sonra tekrar erişilebilir hale gelecektir. Her sunucu aşırı yüklenme durumu olduğunda 503 hatası vermemektedir. Bazı sunucular trafiğin çok yükselmesi gibi durumlarda hata göstermek yerine basitçe gelen isteği işlememektedir.