Hayatımızın birçok alanında, hatta zamanımızın büyük bir bölümünü geçirdiğimiz Web siteleri haberlerden araştırmalara, alışverişten haberleşmeye vb. her alanda çok sık kullandığımız kaynak konumundadır. Sık kullandığımız bu web siteleri sık olmasa da sorunlarla karşılaşabiliyor. Örneğin web sayfasına erişmeye çalıştığınızda “403 – Forbidden: Access is denied” veya benzeri hata kodları ile karşılaşmışsınızdır. Bu gibi durumlarda sorunun neden kaynaklandığını anlamamızı sağlayan şey http durum kodlarıdır. Bugün sizlere HTTP Durum kodları ile ilgili bilgi vereceğiz.
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 koduna HTTP Hata/Durum Kodu denir.
Hata kodundan ziyade durum kodu demek daha doğru olacaktır. Durum kodunun web sitesi servis edilirken başarılı/başarısız olma durumuna göre durum kodu veya hata kodu olarak değerlendiriyoruz.
Ayrıca http durum/hata kodları kendi içlerinde de çeşitli alt anlamlar içermektedir. 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. Aşağıdaki tabloda HTTP Hata/Durum Kodlarının Anlamlarını bulabilirsiniz.
HTTP Hata/Durum Kodlarının Anlamları nelerdir?
Kod | Mesaj | Açıklama |
1xx | Bilgi | |
200 | Continue | İsteğin başarıyla alındığını ve devam edilebileceği anlamına gelir. |
101 | Switching Protocols | Sunucu, istemciden aldığı protokol değiştirme isteğine uyacağını belirtmektedir |
102 | Processing | İsteğin işlenmekte olduğunu bildirir. |
2xx | Başarılı | |
200 | OK | İstek başarıyla alınmış ve cevap başarılı bir şekilde verilmiştir. |
201 | Created | İstek başarıyla gerçekleşmiş ve sunucuda yeni bir kaynak oluşturulmuştur.. |
202 | Accepted | Sunucu istemciden gelen isteği kabul etti ancak henüz işlemedi. |
203 | Non-Authoritative Information | Sunucu isteği başarılı bir şekilde işledi, ancak başka kaynakta olabilecek bir bilgi döndürmektedir. |
204 | No Content | İstek başarıyla alınmış ancak cevap olarak içerik döndürülmemektedir. |
205 | Reset Content | İstek başarıyla alınmış ancak cevap olarak içerik döndürülmemektedir. Ancak içerik silinecektir. (form içindeki bilgiler). |
206 | Partial Content | GET talepleri için kısmi içerik (içeriğin belirli bir parçası) başarıyla döndürülmüştür. |
207 | Multi-Status | Çoklu Statü |
210 | Content Different | Farklı içerik |
3xx | Yönlendirme | |
300 | Multiple Choices | Sunucuda, 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. |
301 | Moved Permanently | Bir 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. |
302 | Moved Temporarily | Bir 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. |
303 | See Other | Farklı bir kaynağa GET yapılması gerektiğini belirtir. |
304 | Not Modified | İstenilen kaynakta daha önce yapılan istekten beri herhangi bir değişikliğin olmadığı belirtilir ve içerik gönderilmez. |
305 | Use Proxy | Sunucu tarafından döndürülen proxy’nin kullanılması gerektiği belirtilir. |
307 | Temporary Redirect | Bir 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ı | |
400 | Bad Request | Yapılan isteğin hatalı (isteğin yapısının hatalı) olduğu belirtilir. |
401 | Unauthorized | Yapılan istek için kimlik doğrulaması gerekiyor. |
402 | Payment Required | Ödeme gerekiyor. (gelecekte kullanılması için ayrılmıştır). |
403 | Forbidden | İstek yapılan kaynağın yasaklandığını belirtir. |
404 | Not Found | İstek yapılan kaynağın (veya sayfanın) bulunamadığını belirtir. |
405 | Method Not Allowed | İzin verilmeyen Metod |
406 | Not Acceptable | İstemcinin Accept header’ında verilen özellik karşılanamıyor. |
407 | Proxy Authentication Required | Proxy üzerinden yetkilendirme gerekir. |
408 | Timeout | İstek zaman aşımına uğradı (belirli bir sürede istek tamamlanamadı). |
409 | Conflict | İstek içinde çelişki (çakışma) var. |
410 | Gone | Kaynak artık yok. |
411 | Length Required | İstekte “Content-Length” (içeriğin boyutu) belirtilmemiş. |
412 | Precondition Failed | Sunucu istekte belirtilen bazı önkoşulları karşılamıyor. |
413 | Request Entity Too Large | İsteğin boyutu çok büyük olduğu için işlenemedi. |
414 | Request-URI Too Long | URI (URL) fazla büyük. |
416 | Requested Range Not Satisfiable | İstenilen kaynak, istenilen medya tipini desteklemiyor. |
417 | Expectation failed | İstek yapılan parça (bir dosyanın bir parçası vb..) sunucu tarafından verilemiyor veya uygun değil. |
422 | Unprocessable entity | Sunucu “Expect” ile istenileni desteklemiyor veya yerine getiremiyor. |
423 | Locked | |
424 | Method failure | |
451 | Unavailable For Legal Reasons | Yasal nedenlerle gösterilemiyor |
5xx | Sunucu hatası | |
500 | Internal Server Error | Sunucuda bir hata oluştu ve yapılan istek karşılanamadı. |
501 | Not Implemented | Sunucu istenilen isteği yerine getirecek şekilde yapılandırılmamıştır. |
502 | Bad Gateway | Gateway veya Proxy sunucusu, kaynağın bulunduğu sunucudan (upstream sunucusu) cevap alamıyor. |
503 | Service Unavailable | Sunucu şu anda hizmet vermiyor (kapalı veya erişilemiyor). |
504 | Gateway Timeout | Gateway veya Proxy sunucusu, kaynağın bulunduğu sunucudan (upstream sunucusu) belirli bir zaman içinde cevap alamadı. |
505 | HTTP Version not supported | HTTP Protokol versiyonu desteklenmiyor. |
507 | Insufficient storage | Sunucu, yapılan isteği isteği başarıyla tamamlamak için gereken boyutu depolayamadığından, yöntem gerçekleştirilemedi. |