Bir REST sistemi ile RESTful olan bir sistem arasındaki fark nedir?
En çok okuduğum birkaç şeyden REST hizmetleri aslında RESTful hizmetleridir. Peki ikisi arasındaki fark nedir.
Bir REST sistemi ile RESTful olan bir sistem arasındaki fark nedir?
En çok okuduğum birkaç şeyden REST hizmetleri aslında RESTful hizmetleridir. Peki ikisi arasındaki fark nedir.
Yanıtlar:
Temsili durum aktarımı (REST) bir yazılım mimarisi stilidir. Roy Fielding tarafından yapılan bir tezde açıklandığı gibi, REST temelde Web'in mevcut teknolojisini ve protokollerini kullanan bir "mimari tarz" dır.
RESTful tipik olarak böyle bir mimariyi uygulayan web servislerini ifade etmek için kullanılır.
architect
Neyin? url'lerin? gibi https://translation.googleapis.com/language/translate/v2
bu DİNLENME tarzıdır?
Bunları ayırt etmek veya karşılaştırmak için REST'in ne olduğunu bilmelisiniz .
REST ( RE sunumu S tate T ransfer) temelde bazı ilkelere sahip mimari bir gelişim tarzıdır:
Vatansız olmalı
Sunucudan tüm kaynaklara yalnızca URI kullanarak erişmelidir
Dahili şifreleme yok
Oturumu yok
Yalnızca bir protokol kullanır - HTTP
CRUD işlemleri gerçekleştirmek için, böyle fiiller, HTTP kullanmalıdır olarak get
, post
, put
vedelete
Sonucu yalnızca JSON veya XML, atom, OData vb. Şeklinde döndürmelidir (hafif veriler)
REST based services
yukarıdaki ilkelerin bazılarını uygulayın, hepsini değil
RESTFUL services
yukarıdaki tüm ilkeleri izlediği anlamına gelir.
Aşağıdakiler kavramına benzer:
Object-based languages
tüm OOP kavramlarını destekler, örnekler : C ++, C #
Object oriented languages
bazı OOP özelliklerini destekler, örnekler : JavaScript, VB
Örnek :
ASP REST-Based
WEB NET MVC 4 ise Microsoft WEB API'sidir RESTFul
.
MVC yukarıdaki REST ilkelerinden sadece bazılarını desteklerken WEB API yukarıdaki REST İlkelerinin tümünü destekler.
MVC yalnızca REST API'sinden aşağıdakileri destekler
URI kullanarak kaynağa erişebiliriz
Sunucudan kaynağa erişmek için HTTP fiilini destekler
Sonuçları JSON, XML, HTTPResponse biçiminde döndürebilir.
Ancak, aynı zamanda MVC'de
Oturumu kullanabiliriz
Bunu durumsal hale getirebiliriz
Temelde REST ilkelerini ihlal eden denetleyici eylem yönteminden video veya görüntü döndürebiliriz
MVC bu yüzden REST-Based
WEB API yukarıdaki tüm prensipleri desteklemektedir RESTFul
.
"REST" mimari bir paradigmadır. "RESTful" bu paradigmayı kullanmayı açıklar.
architect
Neyin? url'lerin? gibi https://translation.googleapis.com/language/translate/v2
bu DİNLENME tarzıdır?
Jason'ın yorumlarda söylediği gibi, RESTful sadece REST kısıtlamalarına saygı duyan bir şeyi tanımlayan bir sıfat olarak kullanılır.
REST, temsili durum aktarımı anlamına gelir. Bu, devletin kendisinin aktarılmadığı, yalnızca bunun bir temsili olduğu anlamına gelir. En yaygın örnek, saf bir HTML sunucusu tabanlı uygulama (javascript yok). Tarayıcı uygulamanın kendisi hakkında hiçbir şey bilmez, ancak bağlantılar ve kaynaklar aracılığıyla sunucu uygulamanın durumunu tarayıcıya aktarabilir. Bir düğmenin normal bir Windows uygulamasında durum değişkenini (ör. Sayfa açık) normal olarak değiştireceği durumlarda, tarayıcıda böyle bir durum değişikliğini temsil eden bir bağlantınız vardır.
Fikir hipermedya kullanmaktır. Ve belki de yeni hiper ortam türleri oluşturmak için. Potansiyel olarak tarayıcıyı javascript / AJAX ile genişletebilir ve yeni özel hiper ortam türleri oluşturabiliriz. Ve gerçek bir REST uygulamamız olacaktı.
Bu benim REST'in kısaltması olan kısa versiyonum, problemin uygulanması zor. Şahsen RESTful diyorum, REST ilkelerine atıfta bulunmak istediğimde ancak REST kavramını gerçekten uygulamadığımı biliyorum. Gerçekten SOAPful demiyoruz, çünkü ya SOAP kullanırsınız ya da kullanmazsınız. Çoğu insanın yaratıcısı Roy Fielding'in öngördüğü şekilde REST yapmadığını düşünüyorum, aslında RESTful veya RESTlike mimarileri uyguluyoruz. Tezini görebilirsiniz ve REST kısaltmasını bulacaksınız ancak RESTful kelimesini bulamazsınız.
REST, dağıtılmış yazılımlar için bir yazılım mimarisi tarzıdır
REST kısıtlamalarına uymak 'RESTful' olarak adlandırılır.
Bugün SOAP'a alternatif olarak web hizmetleri oluşturmak için çok kullanılıyor.
Burada kontrol etmek için bazı bağlantılar var
http://en.wikipedia.org/wiki/Representational_State_Transfer
http://www.computerworld.com/s/article/297424/Representational_State_Transfer_REST_
http://www.ibm.com/developerworks/webservices/library/ws-restful/
cevaplar için teşekkürler. Bir RESTful web hizmetinin 4 temel özelliği olduğunu öne süren Alex Rodriguez'in bu makalesini okuyun :
Temsili Durum Transferi (REST), World Wide Web gibi dağıtılmış hiper ortam sistemleri için bir yazılım mimarisi türüdür. Temsili Devlet Transferi terimi 2000 yılında Roy Fielding 1 [2] tarafından doktora tezinde tanıtıldı . Fielding, Köprü Metni Aktarım Protokolü (HTTP) belirtimi sürüm 1.0 ve 1.1'in ana yazarlarından biridir. REST kısıtlamalarına uymak 'RESTful' olarak adlandırılır. Kaynak: Vikipedi
Web hizmetleri, içeriği insanlar değil, bilgisayar programları tarafından tüketilen web siteleridir. REST, web hizmetlerinin HTTP ve diğer web standartlarını en üst düzeyde kullanması gerektiğini öngören bir dizi mimari ilkedir, böylece programlar zaten insanların web'den çıkabileceği tüm iyi şeyleri kazanır. REST genellikle SOAP web hizmetleri ve diğer "uzaktan yordam çağrısı" yönelimli web hizmetleriyle karşılaştırılır.
Stefan Tilkov'un Parleys.com'daki REST'teki sunumları oldukça iyi, özellikle de bu .
Bir kitap için Richardson ve Ruby'nin Restful Web Hizmetlerinden daha iyi olamazsınız .
REST tabanlı bir hizmete "RESTful service" adı verilir.
Kaynak Bunu yayınlamaya güveniyorum: Dr.Dobbs Arşivi
Richardson Olgunluk Modelinde 4 seviye API tanımlanmıştır. Bunlar şu şekilde tanımlanır:
seviye 0: tüm API'leri için tek bir uç noktaya sahip herhangi bir sistem (SOAP veya RPC bu kategoriye girer). Seviye 0 apis ayrıca "komutlara" benzeyebilir.
seviye 1: ResourceUri tarafından tarif edilen bir sistem. Bu, birden çok varlık tabanlı URI'yi tanımlayan bir sistemdir (seviye 0 sistemleri gibi tek bir uç noktaya sahip olmak yerine). Bu URI'ler, bu kaynağa karşı farklı eylemler uygulamak için farklı http eylemleri (POST, GET, PUT vb.) Kullanabilir.
seviye 2: diğer bir deyişle Standart HTTP yöntemlerinin / fiillerinin ve çoklu durum kodu yanıtlarının uyumlu kullanımı ile seviye 1
seviye 3: aka seviye 2 artı HATEOAS (yanıta yapabileceğiniz ek çağrıları açıklayan hiper ortam)
Seviye 1, seviye 2 ve seviye 3 REST sistemleri olarak kabul edilebilirken, sadece daha katı seviyeler (yani seviye 2 ve seviye 3) RESTful olarak kabul edilir.
Yani aslında tüm RESTful apisleri REST apis'tir, ancak tüm REST apisleri RESTful değildir
REST'i mimari bir "sınıf" olarak düşünürken RESTful bu sınıfın iyi bilinen "örneğidir".
Lütfen ""; burada "gerçek" programlama nesneleri ile uğraşmıyoruz.
Bir "REST hizmeti" ve "RESTful hizmeti" bir ve aynıdır.
RESTful sistemi, RESTful ağa bağlı uygulamalar fikrini oluşturan orijinal belgede tanımlanan REST kurallarını izleyen herhangi bir sistemdir .
Değişen RESTfulness seviyeleri olduğunu belirtmek gerekir. Genel olarak, REST bir stil değil, bir standarttır, bu nedenle ihtiyaçlara göre yorumlama için yer vardır. bir örnek hiyerarşik kaynak URL'lerdir (ör. /things/ID/relatedthings
) düz URL'lere (ör. /things/ID
ve /relatedthings?thing=ID
)