REST = Temsili Durum Transferi
REST , izlendiğinde, belirli bir dizi istenen kısıtlamaya sahip dağıtılmış bir uygulama oluşturmanıza olanak tanıyan bir dizi kuraldır.
REST , bu iletileri taşımak için HTTP kullanabilen (XML, JSON vb.) İletileri alıp vermek için kullanılan bir protokoldür.
Özellikleri:
Vatansızdır, yani istemci ile sunucu arasında ideal bir bağlantı kurulmamalıdır. Bağlamını sunucuya iletmek istemcinin sorumluluğundadır ve daha sonra sunucu, istemcinin ek isteğini işlemek için bu bağlamı saklayabilir. Örneğin, sunucu tarafından tutulan oturum, istemci tarafından geçirilen oturum tanımlayıcısı ile tanımlanır.
Vatansızlığın Avantajları:
- Web Hizmetleri her yöntem çağrısını ayrı ayrı ele alabilir.
- Web Hizmetleri, istemcinin önceki etkileşimini korumasına gerek yoktur.
- Bu da uygulama tasarımını basitleştirir.
- HTTP, TCP'nin aksine durumsuz bir protokoldür ve bu nedenle RESTful Web Services, HTTP protokolleriyle sorunsuz bir şekilde çalışır.
Vatansızlığın Dezavantajları:
- Müşterinin durumunu korumak için her talebe başlık şeklinde bir ekstra katman eklenmesi gerekir.
- Güvenlik için her isteğe bir başlık bilgisi eklememiz gerekir.
REST tarafından desteklenen HTTP Yöntemleri:
GET: / string / someotherstring Bu idempotenttir ve her arama yapıldığında ideal olarak aynı sonuçları döndürmelidir
PUT: GET ile aynı. Idempotent ve kaynakları güncellemek için kullanılır.
POST: bir url ve gövde içermelidir Kaynak oluşturmak için kullanılır. Birden fazla çağrı ideal olarak farklı sonuçlar döndürmeli ve birden fazla ürün oluşturmalıdır.
SİL: Sunucudaki kaynakları silmek için kullanılır.
BAŞ:
HEAD yöntemi, GET ile aynıdır, ancak sunucu yanıtta bir ileti gövdesi döndürmemelidir. Bir HEAD isteğine yanıt olarak HTTP başlıklarında yer alan meta bilgiler, bir GET isteğine yanıt olarak gönderilen bilgilerle aynı OLMALIDIR.
SEÇENEKLER:
Bu yöntem, istemcinin bir kaynak eylemini ima etmeden veya bir kaynak geri alma işlemini başlatmadan bir kaynakla veya bir sunucunun yetenekleriyle ilişkili seçenekleri ve / veya gereksinimleri belirlemesine olanak tanır.
HTTP Yanıtları
Tüm yanıtlar için buraya gidin .
Burada birkaç önemli nokta bulunmaktadır: 200 - OK 3XX - İstemciden gereken ek bilgiler ve url yönlendirmesi 400 - Hatalı istek
401 - 403'e erişim
yetkisi yok - Yasak
İstek geçerli, ancak sunucu işlemi reddediyor. Kullanıcı bir kaynak için gerekli izinlere sahip olmayabilir veya bir çeşit hesaba ihtiyaç duyabilir.
404 - Bulunamadı
İstenen kaynak bulunamadı, ancak gelecekte kullanılabilir. Müşteri tarafından müteakip isteklere izin verilir.
405 - Yönteme İzin Verilmiyor İstenen kaynak için bir istek yöntemi desteklenmiyor; örneğin, verilerin POST yoluyla sunulmasını gerektiren bir formdaki GET isteği veya salt okunur bir kaynakta PUT isteği.
404 - İstek bulunamadı
500 - Dahili Sunucu Hatası
502 - Hatalı Ağ Geçidi Hatası