Web sitesini gezmek istediğimizde veya API’den veri çekmek istediğimizde görünen veriler haricinde sunucu HTTP Header’lar içinde bir bilgi gönderir. Bunlardan en önemlilerinden biride HTTP sunucu durum kodlarıdır. 100, 200, 300, 400 ve 500 ile başlayan bu kodların anlamları nedir?
Durum kodları beş kategoride toplanmıştır.
- 100 seviyesi durum kodları sunucu istekleri konusunda bilgilendirme verir
- 200 seviyesi durum kodları başarılı sunucu isteklerini bildirir
- 300 seviye durum kodları yönlendirmeler hakkında bilgi verir
- 400 seviye durum kodları istemci hataları hakkında bilgi verir
- 500 seviye durum kodları sunucu iç hataları hakkında bilgi verir
Tüm liste ise;
Kod | Mesaj | Anlamı | Açıklama |
100 | Continue | Devam | İstek başarılı alındığı ve devam edilebileceği belirtilir |
101 | Switching Protocols | Anahtarlama Protokolü | Sunucu, istemciden aldığı protokol değiştirme isteğine uyacağını belirtmektedir |
102 | Processing | İşlem | |
200 | OK | Tamam | İstek başarılı alınmış ve cevap başarılı verilmiştir. |
201 | Created | Oluşturuldu | İstek başarılı olmuş ve sunucuda yeni bir kaynak yaratılmıştır. |
202 | Accepted | Onaylandı | Sunucu isteği kabul etti ancak henüz işlemedi. |
203 | Non-Authoritative Information | Yetersiz Bilgi | Sunucu isteği başarılı işledi, ancak başka kaynakta olabilecek bilgi döndürmektedir. |
204 | No Content | İçerik Yok | İstek başarılı alınmış ancak geri içerik döndürülmemektedir. |
205 | Reset Content | İçeriği Baştan al | İstek başarılı alınmış ancak geri içerik döndürülmemektedir. Ancak içerik temizlenecektir (örneğin bir web formunda doldurulan bilgiler). |
206 | Partial Content | Kısmi İçerik | GET için kısmi içerik (içeriğin bir belirli bir parçası) başarılıyla döndürülmüştür. |
207 | Multi-Status | Çok-Statü | |
210 | Content Different | Farklı İçerik | |
300 | Multiple Choices | Çok Seçenek | Sunucuda isteğe göre birden fazla seçenek olduğunu bildirir. Sunucu seçeneği kendisi seçebilir veya seçenek listesini görüntüleyebilir. |
301 | Moved Permanently | Kalıcı Taşındı | Bir kaynağın (veya sayfanın) kalıcı olarak başka bir yere taşındığını bildirir ve o yere yönlendirme sağlar. |
302 | Moved Temporarily | Geçici Taşındı | Bir kaynağın (veya sayfanın) kalıcı değil geçici olarak başka bir kaynağa yönlendirir. Kaynağın ana adresi değişmemiştir. |
303 | See Other | Diğerlerine Bak | Farklı bir kayanağa GET yapılması gerektiğini belirtir. |
304 | Not Modified | Güncellenmedi | İstenilen kaynakta daha önce yapılan istekten beri herhangi bir değişikliğin olmadı belirtilir ve içerik gönderilmez. |
305 | Use Proxy | Proxy Kullan | Sunucu tarafından döndürülen proxy’in kullanılması gerektiği belirtilir. |
307 | Temporary Redirect | Geçici olarak yeniden gönder | Bir kaynağın (veya sayfanın) kalıcı değil geçici olarak başka bir kaynağa yönlendirir. |
400 | Bad Request | Kötü İstek | İstek hatalı (isteğin yapısı hatalı) olduğu belirtilir. |
401 | Unauthorized | Yetkisiz | İstek için kimlik doğrulaması gerekiyor. |
402 | Payment Required | Ödeme Gerekli | Ödeme gerekiyor. (gelecekte kullanılması için ayrılmıştır). |
403 | Forbidden | Yasaklandı | Kaynağın yasaklandığını belirtir. |
404 | Not Found | Sayfa Bulunamadı | İstek yapılan kaynağın (veya sayfanın) bulunamadığını belirtir. |
405 | Method Not Allowed | İzin verilmeyen Metod | Sunucu , HTTP Method’u kabul etmiyor. |
406 | Not Acceptable | Kabul Edilemez | İstemcinin Accept header’ında verilen özellik karşılanamıyor. |
407 | Proxy Sunucuda login olmak gerekli | Proxy üzerinden yetkilendirme gerekir. | |
408 | İstek zaman aşamına uğradı | İstek zaman aşımına uğradı (belirli bir sürede istek tamamlanamadı). | |
409 | Conflict | (Hatlar) Çakıştı,Çakışma | İstek içinde çelişki var. |
410 | Gone | Bak | Kaynak artık yok. |
411 | Length Required | İstekte “Content-Length” (içeriğin boyutu) belirtilmemiş. | |
412 | Precondition Failed | unucu 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 unsatifiable | İstenilen kaynak istenilen medya tipini desteklemiyor. | |
417 | Expectation failed | İstek yapılan parça (bir dosyanın bir parçası vb..) sunucu tarafından verilebiliyor 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 | |
500 | Internal Server Error | Sunucuda bir hata oluştu ve istek karşılanamadı. | |
501 | Uygulanmamış | Sunucu istenilen isteği yerine getirecek şekilde yapılandırılmamıştır. | |
502 | Geçersiz Ağ Geçidi | Gateway veya Proxy sunucusu, kaynağın bulunduğu sunucudan (upstream sunucusu) cevap alamıyor. | |
503 | Hizmet Yok | 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 |
Geri izleme: En İyi RESTful API Uygulamaları - Hüseyin Yıldırım