WEP API – HTTP Protocol , HTTP Metod ve HTTP Status Code Nedir?
Merhabalar Arkadaşlar bu yazımızda : HTTP Protocol , HTTP Metod ve HTTP Status Code Nedir konularına değineceğiz.
- HTTP : Hypet Text Transfer Protocol yani türkçesi Üstün metin transfer protokolü.
- Protocol Nedir ? : Uyulması Gereken Kurallardır.
Bir kullanıcı sbir siteye bağlanırken siteya yani sitenin bulunduğu sunucuya bir istek(Request) gönderir , örneğin www.salihseker.com daha sonra sunucu bir cevap döner (Response) bu Response ta site , mesaj ve bununla birlikte durum kodları dönmektedir Başarlı (200) Başarısızı v.s. Bu kodlara Status Kodları denir.
Kullınıcı istek yaparken HTTP Metodları dediğimiz Metodları kullanılır:
En Çok Kullanılan Metodlar
Bunlar arasında GET ve POST metodları en sık kullanılan metodlar olup sunucudaki kaynaklara erişmek için kullanılırlar.
1-) GET: Read – Bu metod sunucudan veri almak için kullanılır. Örnek siteye giriş yaparken tarayıcıya adını yazıp siteye gitme isteği.
2-)POST: Create – Bu metod ile sunucuya veri yazdırabilirsiniz. Veri gönderimlerinde kullanılır.
3-)PUT: Update – Bu metod ile servis sağlayıcı üzerindeki bir kaynağı güncelleyebilirsiniz. Hangi kaynağı güncelleyecekseniz o kaynağın id’sini göndermek zorunludur.
4-)DELETE: Delete – Bu metod ile sunucudaki herhangi bir veriyi silebilirsiniz.
5-)HEAD: GET metoduyla benzer işleve sahiptir ancak geri dönen yanıtta mesaj gövdesi bulunmaz (yani başlıklar ve içerikleri GET metoduyla aynıdır). Bu nedenle GET mesajı gönderilmeden önce bir kaynağın var olup olmadığını kontrol etmek için kullanılabilir.
6-)CONNECT: Bir proxy sunucu üzerinden başka bir sunucuya bağlanmak ve proxy sunucuyu bir tünel gibi kullanmak için kullanılır.
7-)OPTIONS: Bu metod belli bir kaynak için kullanılabilecek HTTP metodlarını sunucudan sorgulamak için kullanılır.
8-)TRACE: Teşhis amaçlı kullanılan bir metoddur. Sunucu bu metodla gelen istek mesajının içeriğini aynen yanıt gövdesinde geri göndermelidir. Bu yöntemle sunucu ile istemci arasında bir vekil sunucu varsa bu sunucunun ve yaptığı değişikliklerin tespiti mümkün olabilir.
9-)PATCH: Bu metod bir kaynağa istediğiniz küçük çaplı değişimi yapmanızı sağlar.
10-)SEARCH: Bir dizinin altındaki kaynakları sorgulamak için kullanılır.
HTTP SATUS CODE (Durum Kodları)
HTTP Durum Kodları 3 hane ve tam sayı olacak şekildedir , Bu Kodların ilk hanesi ile gruplandırılırlar :
S.N. | Kod ve Açıklama |
---|---|
1 | 1xx: Bilgi (1xx: Informational)İsteğin alındığı ve işlemin devam ettiği anlamına gelir. |
2 | 2xx: Başarılı (2xx: Success)Eylemin başarıyla alındığı, anlaşıldığı ve kabul edildiği anlamına gelir. |
3 | 3xx: Yönlendirme (3xx: Redirection)Girilen web sayfasının başka bir web sayfasına yönlendirildiği anlamına gelir. |
4 | 4xx: Kullanıcı Hataları (4xx: Client Error)Web sayfasının hatalı olduğunu bildirir. Kullanıcı tarafından yapılan hatalardır. Olmayan bir web sayfasına girmeye çalışıldığında bu tür hatalar döner. |
5 | 5xx: Server Hataları (5xx: Server Error)Girilmek istenen web sayfasına sunucu tarafında oluşan bir hata yüzünden girilemediği anlamına gelir. |
Gruplarndırılan kodların Detaylı listesi ve örnek kodlar listedeki gibidir :
1xx: Bilgi Kodları (1xx: Informational)
S.N. | Mesaj ve Açıklama |
---|---|
100 | 100 Devam (100 Continue)İstek başarı ile alındı ve devam edilebilir. |
101 | 101 Anahtarlama Protokolleri (101 Switching Protocols)Sunucuda protokol değiştirme isteğinin yapılacağı anlamına gelir. |
2xx: Başarılı 2xx: Başarılı (2xx: Success)
S.N. | Mesaj ve Açıklama |
---|---|
200 | 200 OK (200 OK)
İsteğin başarı ile alındığını belirtir. Web sayfası sorunsuz bir şekilde açılır. |
201 | 201 Oluşturulma (201 Created)
İstek tamamlandı ve yeni bir kaynak oluşturuldu. |
202 | 202 Onaylandı (202 Accepted)
İstek kabuldu ancak işlenmedi. |
203 | 203 Yetersiz Bilgi (203 Non-authoritative Information)
Sunucu isteği işledi, fakat başka kaynaktan gelen bilgi döndürmektedir. Bir HTTP proxy tarafından kullanılabilecek durum kodudur. |
204 | 204 İçerik Yok (204 No Content)
İstek başarılı bir şekilde alınmıştır. Fakat geriye bir sonuç döndürülememiştir. |
205 | 205 İçeriği Sıfırla (205 Reset Content)
İstek başarı ile alınmıştır fakat geri döndürülememiştir. Bunun için istek sıfırlanacaktır. |
206 | 206 Kısmi İçerik (206 Partial Content)
Kısmı içeriğin başarılı bir şekilde iletildiğini ve geriye birden fazla değer döndürüleceğini bunlarında Content-Range ile byte cinsinden bilgilerinin verileceği anlamına gelir. |
3xx: Yönlendirme (3xx: Redirection)
S.N. | Mesaj ve Açıklama |
---|---|
300 | 300 Çoklu Seçenek (300 Multiple Choices)
Gönderilen isteğe karşılık birden fazla seçenek geri döndürüldüğü anlamına gelir. Sunucu bu isteklerden istediğine yönlendire bilir yada seçilmesi için liste halinde gösterebilir. |
301 | 301 Kalıcı Olarak Taşındı (301 Moved Permanently)
Girilmek istenen bir web sayfasının halıcı olarak başka bir url e taşındığını belirtir. |
302 | 302 Geçici Olarak Taşındı (302 Found)
Girilmek istenen web sayfasının geçici olarak başka bir url taşındığını belirtir. |
303 | 303 Diğerlerine Bakın (303 See Other)
İstenen sayfanın başka bir url’de aranması gerektiğini bildirir. |
304 | 304 Güncellenmedi (304 Not Modified)
En son yapılan istekten sorna sayfada bir değişiklik yapılmadığı için içerik gönderilmez. |
305 | 305 Proxy Kullan (305 Use Proxy)
The requested URL must be accessed through the proxy mentioned in the Location header. |
306 | 306 Kullanılmayan (306 Unused)
Bu kod önceki bir sürümde kullanıldı. Artık kullanılmamaktadır, ancak kod ayrılmıştır. |
307 | 307 Geçici Yönlendirme (307 Temporary Redirect)
İstenen sayfa geçici olarak yeni bir URL’ye taşındı. |
4xx: Kullanıcı Hataları (4xx: Client Error)
S.N. | Mesaj ve Açıklama |
---|---|
400 | 400 Hatalı İstek (400 Bad Request)
İsteğin hatalı olduğunu bildirir. |
401 | 401 Yetkisiz (401 Unauthorized)
İstenen sayfa bir kullanıcı adı ve şifre gerektiriyor. |
402 | 402 Ödeme Gerekiyor (402 Payment Required)
Şu anda kullanılmıyor. İlerde kullanılabilir diye ayrılmış. |
403 | 403 Yasaklandı (403 Forbidden)
İstenilen sayfaya erişim yasaktır. |
404 | 404 Sayfa Bulunamadı (404 Not Found)
Sunucu istenen sayfayı bulamıyor. |
405 | 405 İzin Verilmeyen Metod (405 Method Not Allowed)
İstekte belirtilen yönteme izin verilmiyor. |
406 | 406 Kabul Edilemez (406 Not Acceptable)
Sunucu yalnızca müşteri tarafından kabul edilmeyen bir yanıt üretebilir. |
407 | 407 Proxy Kimlik Doğrulaması Gerekli (407 Proxy Authentication Required)
Bu isteğin yerine getirilebilmesi için bir proxy sunucusu ile kimlik doğrulaması yapmanız gerekir. |
408 | 408 İstek Zaman Aşımına Uğradı (408 Request Timeout)
İstek, sunucunun cevap vermek için bekleme süresinden daha uzun sürdü. |
409 | 409 Uyuşmazlık (409 Conflict)
Bir çakışma nedeniyle istek tamamlanamadı. |
410 | 410 Gitti (410 Gone)
İstenen sayfa artık mevcut değil. |
411 | 411 Length Boş Bırakılamaz (411 Length Required)
“Content-Length” tanımlanmadı. Sunucu isteği “Content-Length” olmadan kabul edilmeyecektir. |
412 | 412 Önkoşul Başarısız (412 Precondition Failed)
İstekte verilen ön koşul sunucu tarafından yanlış olarak değerlendirildi. |
413 | 413 Talep Çok Büyük (413 Request Entity Too Large)
İstek varlığı çok büyük olduğu için sunucu isteği kabul etmiyor. |
414 | 414 İstek URL’i Çok Uzun (414 Request-url Too Long)
URL çok uzun olduğu için sunucu isteği kabul etmiyor. Form gönderirken “get” isteğini kullandığınıza karşılaşırsınız. |
415 | 415 Desteklenmeyen Medya Türü (415 Unsupported Media Type)
The server will not accept the request, because the mediatype is not supported . |
416 | 416 Talep Edilen İstek Sınırların Dışında (416 Requested Range Not Satisfiable)
İstenen bayt aralığı mevcut değil ve sınırların dışında. |
417 | 417 Beklenti Başarısız (417 Expectation Failed)
Beklenti istek başlığı alanında verilen beklenti bu sunucu tarafından karşılanamadı. |
5xx: Server Hataları (5xx: Server Error)
S.N. | Mesaj ve Açıklama |
---|---|
500 | 500 Dahili Sunucu Hatası (500 Internal Server Error)
İstek tamamlanmadı. Sunucu beklenmeyen bir koşulla karşılaştı. |
501 | 501 Uygulanmadı (501 Not Implemented)
İstek tamamlanmadı. Sunucu gerekli işlevleri desteklemiyor. |
502 | 502 Geçersiz Ağ Geçişi (502 Bad Gateway)
İstek tamamlanmadı. Sunucu, istek gönderdikten sonra geçersiz bir yanıt aldı. |
503 | 503 Hizmet Kullanılamıyor (503 Service Unavailable)
İstek tamamlanmadı. Sunucu geçici olarak aşırı yükleniyor. |
504 | 504 Gateway Zaman Aşına Uğradı (504 Gateway Timeout)
Ağ geçidi zaman aşımına uğradı. |
505 |
505 HTTP Sürümü Desteklenmiyor (505 HTTP Version Not Supported) Sunucu http protokolünü desteklemiyor. |
Kaynak :
https://docs.microsoft.com/tr-tr/aspnet/web-api
Udemy : ASP.NET WEB API ile Yazılımcıların Bağımsızlığı Kursu
İyi Çalışmalar.