HTTP ve HTTP durum kodları

Kadir Doğuş Seçkin
3 min readJun 13, 2023

--

HTTP nedir ?

Açılımı Hypertext Transfer Protocol olan HTTP, bir client (web tarayıcısı olabilir) ile web sunucusu arasındaki iletişimin sağlanmasını sağlayan bir yöntemdir. HTTP internet üzerindeki bilgi aktarımı için kullanılan bir protokoldür ve web üzerindeki herhangi bir veri alışverişinin temelini oluşturur. Çoğu zaman client kullanıcının kullandığı bir web tarayacısıdır.

HTTP, sadece sunucudan istenen içeriği değil aynı zamanda istekle ilgili durum bilgilerini de response olarak bize döner.

HTTP DURUM KODLARI

HTTP durum kodları, HTTP isteğinin nasıl bir sonuçla tamamlandığını bize bildirir. Bu yanıtlar sunucu tarafından döner. Bu durum kodları 5 gruba ayrılır ve ilk basamağındaki rakama göre farklı anlamlara gelir.

1 — Bilgilendirici kodlar

Bilgilendirici kodlar istediğin alındığını ve işleme devam edildiğini gösterir. Geçici olarak verilir ve client tarafını beklemesi konusunda uyarır.

100 Continue : Her şeyin yolunda gittiğini ve sunucunun isteği aldığını belirtir. Client gönderilmesi gereken bir şey varsa göndermeye devam etmelidir. Zaten bitmişse yok sayılabilir

101 Switching Protocol : Client tarafı sunucudan protokolü değişmesini istediğinde ve sunucununda bunu kabul ettiği durumda bu kod döner. Sunucu geçiş yaptığı protokolü response header içinde Upgrade ismiyle bize verir.

102 Processing : Sunucunun isteği aldığını ve işleme koyduğunu fakat henüz yanıt alamadığını belirtir. Dosya işlemleri gibi uzun işlemler olabilir.Bu kod sayesinde istemcinin zaman aşımına uğradığını varsayması engellenir.

103 Early Hints : Sunucu cevap vermeden önce bazı headerleri döndürmek için bu hata kodu kullanılır.

2 — Başarılı kodlar

Başarılı kodlar, isteğin alındığını ve kabul edildiğini gösteren kodlardır.

200 OK : HTTP isteği başarılı olduğundan dönen yanıttır.

201 Created : HTTP isteği başarılı oldu ve yeni bir kaynak oluşturulduğunda bu kod döner. Sunucuya bir POST isteği gönderilip veri tabanı üzerinden yeni bir kayıt oluşturulması bir örnektir.

202 Accepted : İstek işlenmek üzere alındı fakat işlem tamamlanmadığında dönen sonuçtur. Sonuç gerçekleşebilir veya izin verilmeyebilir.

204 No Content : İstek başarıyla yerine gerçekleştirildiği fakat response olarak dönecek bir içerik bulunamadığında karşılaştığımız durum kodudur.

3 — Yönlendirme kodları

Bu durum kodları client tarafında işlemin tamamlanması için ek işlemler yapılması gerektiğini belirtir ve genellikle yönlendirmelerde kullanılır.

300 Multiple Choice : Client tarafında seçilebilecek birden fazla kaynak olduğunda ve seçim yapılması gerektiğinde bu durum koduyla karşılaşırız

301 Moved Permanently : Bu sayfanın kalıcı olarak başka bir sayfaya yönlendirildiğini belirtir. Kullanıcıyı otomatik olarak başka sayfaya yönlendirir.

302 Found / Moved Temporarily : Bu sayfanın geçici olarak başka bir sayfaya yönlendirildiğini belirtir. Örneğin sayfa geçici olarak kapanmışsa anlık bir sorun varsa, bakım varsa bir süreliğine başka sayfaya yönlendirebiliriz.

304 Not Modified : Kullanıcı en son sayfaya girdiğinden beri o sayfada bir değişiklik olmadı. Ön belleğe alınmış sayfa ile sayfanın son hali aynı bu yüzden yeniden indirilmeye gerek olmadığı durumda bu durum kodu kullanılır.

4 — İstemci hatası kodları

Hatanın sebebi client kaynaklıysa bu hata kodları döner.

400 Bad Request: Sunucuya hatalı bir istek yapıldığını ve sunucunun isteği işleyemediğini gösterir.

401 Unauthorized: Kimlik doğrulama sağlanamadığında bu hata koduyla karşılaşırız. WWW-Authenticate header’i içinde bu bilgiler döner.

403 Forbidden : Sunucu isteği bir sebepten dolayı reddettiğinde bu hata kodu döner. 401 ile benzer fakat burada sorunz kimlik doğrulaması değildir. Kullanıcının gerekli izinlere sahip olmaması veya yasak bir işlemi yapmaya çalışması olabilir.

404 Not Found : Sayfa bulunamadığında bu hata koduyla karşılaşırız.

405 Method Not Allowed : Erişilmesi gereken yere yapılan istekteki metod tipi geçersiz olduğunda bu hata koduyla karşılaşırız. Örneğin GET isteği ile verileri çekmemiz gereken bir yere POST isteği attığımızda bu kod ile karşılaşabiliriz.

429 Too Many Requests: Sunucuya belirli bir süre içinde çok fazla istek atılırsa, sunucuda belirlenen limitlerin üzerine çıkıldıysa bu hata kodu ile karşılaşırız.

5 — Sunucu hatası kodları

Server tarafında bir hata olduğunda bu hata kodlarıyla karşılaşırız

500 Internal Server Error : Sunucuda bir hata olduğunda ve response dönemediğinde bu hata koduyla karşılaşırız.

502 Bad Gateway : Sunucu başka bir yere istek attığında ve geçersiz bir response aldığında bu hata kodu döner.

503 Service Unavailable : Sunucu tarafının istekleri işleyip response dönemediği durumlarda bu hata koduyla karşılaşırız. Genellikle bu durum geçici bir durumdur. Örneğin sunucuda bakım yapılıyor olabilir.

504 Gateway Timeout : Sunucu başka bir yere istek attığında ve oradaki istek tamamlanmayıp timeout alındığı durumda bu hata koduyla karşılaşırız.

--

--

No responses yet