HTTP Durum Kodları Nelerdir?

Günümüz internet dünyasında HTTP durum kodları ile sıklıkla karşılaşmaktayız. Kimi zaman hatalar ile karşımıza çıkmakta kimi zaman da hata olmayan zamanlarda karşımıza çıkmakta. Bunar 404, 500 gibi yazılardır. Peki bu 3 haneden oluşan sayılar ne anlama gelmektedir?

İlk önce HTTP ne anlama gelmektedir?

HTTP’ nin açılımı Hypertext Transfer Protocol demektir. İstemci ile host arasında ihtiyaç duyulan protokelleri sağlamaktadır. Yani ağ üzerinden web veya mobil sayfaların görüntülenmesini sağlayan protokoldür.

HTTP Durum Kodları

Port olarak 80 portunu kullanan HTTP, istemci sunucuya bir istek göndermektedir. Bu istek, web ile çalışan uygulamalar ya da tarayıcılar aracılığıyla karşımıza çıkmaktadır. Sunucu bu isteği alır ve Apache veya IIS gibi web sunucu programları aracılığıyla cevap vermektedir. Dönen bu cevaplar üç haneden oluşan bu sayılardır. Bu HTTP durum kodlarının her birinin birer anlamı bulunmaktadır. Bu sayıların ne anlama geldiğine şimdi bakacağız.

HTTP durum kodları 5 sınıfa ayrılmaktadır.

1XX

Tarayıcı veya uygulama tarafından gönderilen isteğin sunucuya ulaştığını ve işlemin başladığını bildiren bilgilendirme kodlarını ifade eden durum kodlarıdır.

HTTP kodlarıyla uyumlu kedi görselleri. Çok iyi - TeknoSeyir

100 : İstek başarılı bir şekilde tarayıcımıza veya uygulamıza geldi şimdi işleniyor.

101 : İstemci protokol tipini değiştirmek istedi ve sunucu kabul etti.

102 : İşlem normalden daha uzun sürüyor.

2XX

Going Beyond 200 OK: A Guide to Detailed HTTP Responses in Elm | by Jeffrey  Huang | Medium

200 : Sunucu isteği başarıyla işledi. Tarayıcının istediği her eylemi başarıyla gerçekleştirdiği anlamına gelir.

201 : Tarayıcı sunucuda başarılı bir şekilde yeni bir kaynak oluşturdu.

202 : Uzun süren eylemleri temsil eder ve bunun işlenmek üzere olduğunu döndürür.

203 : Bir proxy’nin kullanımda olmasını gösterir.

204 : Sunucu, yalnızca başlık bilgisi içeren, herhangi bir içerik içermeyen bir istemci isteğine geçerli bir yanıt döndüğünü gösterir.

206 : İstemcinin duraklatışmış indirme işlemlerine devam etmesini, indirmeyi birden fazla akışa bölmesini sağlar.

3XX

300 Multiple Choices - HTTP Status Dogs

300 : Erişilmek istenen kaynağın başka bir kaynağa taşındığını veya bir yönlendirmenin söz konusu olduğunu ifade eder.

301 : Kaynağın önemli ölçüde yeniden tasarlandığını ve istemcinin istenen kaynağına yeni bir kalıcı URI’nin atandığını gösterir.

302 : Farklı bir URI altında geçici olarak tutulan kaynağı ifade etmede kullanılır.

304 : İstenilen kaynağın en son eriştiğiniz tarihten bu yana değişmediğini ifade eder.

307 : Bir kaynağa geçici olarak başka bir kaynağa yönlendirmesidir. 302’den farkı daha belirgin olmasıdır.

4XX

400 : Farklı 4XX hata kodu uygun olmadığında kullanılan genel istemci hata durumudur.

401 : İstemcinin uygun yetkilendirmeyi sağlamadan korumalı bir kaynak üzerinde çalışmaya çalıştığını gösterir.

403 : İstemcinin isteğinin doğru şekilde oluşturulduğunu gösterir ancak kullanıcının kaynak için gerekli izinleri yoktur.

404 : İstemcinin URI’sini bir kaynakta bulamadığını belirtir.

405 : İstemcinin kaynağın izin vermediği bir yöntemi kullanmaya çalıştığını göstermek için kullanılabilir.

406 : Kaynak, sadece istek gönderilen kabul başlıklarına göre kabul edilmeyen içerik oluşturabilir.

5XX

500 : Sunucuda beklenmedik bir durumla karşılaşıldığında ve isteğin karşılanmadığında karşılaşılan genel bir hata mesajıdır.

501 : Sunucu ya istek yöntemini tanımıyor ya da isteği yeirne getirme yeneğinden yoksundur.

Kısaca HTTP Durum Kodları

Özetlemek gerekirse, HTTP durum kodları hem biz geliştiriciler için hem de kullanıcılar için hayati önem arzetmektedir. Bir sorun var ise neden var olduğunu görmek ve ona göre uygun çözümleri hızlıca bulmamızı sağlamaktadır.

Ben şimdi bu listede en çok kullanılan HTTP durum kodlarını sizler için yazdım. Ancak detaylı tüm listeye gitmek isterseniz buraya tıklayabilirsiniz. Bu sayfada bu konuyla ilgili bir çok detayı görebilirsiniz.

Flutter İçin HTTP Durum Kodları

Çok basit bir şekilde bu durum kodları üzerinden Flutter için kod yazmak mümkündür. Bu şekilde bir API’dan gelen JSON verilerini döndürmeden önce servis katmanında kontrol edebiliriz. Bunu şu şekilde gösterebilirim.


static Future?> fetchUsers() async { Response response = await http.get(Uri.parse( "$serviceLink + /token")); if (response.statusCode == 200) { String jsonString = response.body.toString(); return parseUsers(jsonString); } else { return null; } } ); return response; }

ve ardından UI dosyasında


final responseJson = json.decode(response.body); User user = User.fromJson(responseJson); print(user.userName);

Daha fazla Flutter makaleleri için takipte kalmayı unutmayın.

Ömer Faruk Öztürk

E-bültene Abone Ol Merak etmeyin. Spam yapmayacağız.

Yazar

Gezen, okuyan ve sıradanlıktan kurtulmak isteyen bir öğrenci

İlgili Yazılar

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

Hızlı yorum için giriş yapın.

Kayıt Ol

VEYA

Zaten üye misiniz? Giriş Yap

Giriş Yap

VEYA

Henüz üyeliğiniz yok mu? Kayıt Ol