Son zamanlarda kendimi REST ile tanıştırmakla ilgilenmeye başladım. Ben okuma denedim REST wiki girişi , ama hiçbir yardımcı oldu. Birisi basit İngilizce (bu gereksiz gereksiz teknik jargon) açıklayabilir eğer gerçekten takdir ediyorum
Bunu bir veya iki paragrafta cevaplamanın mümkün olmayabileceğini biliyorum, bu durumda ilgili bağlantılar çok takdir edilecektir.
REST (basit İngilizce))
Temsili: birisiyle konuşma veya hareket etme eylemi.
Devlet Transferi: transfer durumu.
REST nedir?
Temsili Devlet Transferi. Bir sistemin durumu diğeriyle nasıl iletişim kurabileceğini açıklar. Örnek olarak XML, JSON veya düz metin olarak temsil edilen bir ürünün durumu (adı, açıklaması vb.) Verilebilir. Genelleştirilmiş devlet fikri bir kaynak olarak adlandırılır.
Bir web mimarisi ekosisteminde hangi pozisyonu işgal ediyor?
HTTP, en yaygın taşıyıcı protokolü olduğundan REST genellikle web hizmetleri arayüzüyle ilişkilidir. 7 katmanlı modelde ygulama katmanı adresinde bulunur. Ancak, bir sonraki bölüme bakın.
Protokol ile ne kadar sıkı (veya gevşek) birleştirildi?
REST HTTP değil. HTTP kullanır, çünkü en genel biçiminde REST bir makinenin keyfi bir isim koleksiyonuna karşı bir fiil kavramını eşlemesine yardımcı olmak için vardır. HTTP yararlı bir dizi fiil içerir (GET, PUT , PATCH vb.) HTTP kullanılarak URI olarak ifade edilen rastgele adlara uygulanabilen örn. GET http://example.org/Product (54 ).
REST ve alternatifleri REST onlarla nasıl karşılaştırılır
Bu "Benim yaklaşımım ne kadar RESTful?" Aşağıdaki listeyi kullanın ( Martin Fowler tarafından açıklandığı gibi Richardson Olgunluk Modeli ):
Seviye 0 - POX bataklığı
Her şey için POST kullanın (okur, yazar, siler) Bu SOAP, POX, RPI vb. Sadece kendi protokolünüz için tünel olarak HTTP kullanıyorsunuz. her şeyi istek gövdesinin içeriğine göre yapar.
Seviye 1 - Kaynaklar
Her şey için POST kullanın. Belirli bir şey hakkında bilgi sunmak için tasarlanmış birden fazla uç noktayı hedefleyin. Kaynakları keşfettiniz.
Seviye 2 - HTTP fiilleri
Kaynaklara karşı HTTP fiilleri kullanın. Şimdi onu alıyorsunuz. POST oluşturmaktır, PUT üzerine yazmak, kullanılabilir işlemler için SEÇENEKLER, kaynağı SİL, iyi, silme. Bu fiillerin kullanımı sonucunda farklı HTTP durum kodları daha alakalı olmaya başlar (202 KABUL EDİLDİ Mİ?).
Seviye 3 - Hiper ortam kontrolü ( HATEOLAR )
Bu noktada son sıçramayı gerçekleştirir ve bir akış kontrol mekanizması olarak hiper ortam sunarsınız. A REST istemcinin, genel bir hipermedia anlayışı ötesinde herhangi bir uygulama veya sunucu ile nasıl etkileşimde bulunacağı hakkında önceden bilgiye ihtiyacı yoktur.Bu, HTTP'de Content-Type başlık alanı aracılığıyla iletilebilir. AtomPub ve (daha özlü) HAL , --- HyperAudio ses akışları için iyi çalışır (bkz. SoundCloud et al)
REST Temsili Durum Transferi'nin bir kısaltması olsa da, biraz sezgisel bir arayüz aracılığıyla çeşitli eylemleri gerçekleştirme fikrini düşünmek daha kolay olabilir.
Örneğin, http://www.mysite.com/FindProduct/125/ gibi bir URL, ürün hakkında 125 kimliğiyle bilgi edinmek isteyen biri olarak yorumlanabilir.
REST genellikle HTTP açısından düşünülürken, kavram Wikipedia referansında belirtildiği gibi diğer protokollere uygulanabilir.
REST yararlı olabilecek diğer örnekler: