REST nedir?
Temsili Devlet Transferi. Bir sistemin bir diğeri ile nasıl iletişim kurabildiğini açıklar. Bir örnek, XML, JSON veya düz metin olarak gösterilen bir ürünün durumu (adı, açıklaması vb.) Olabilir. Genelleştirilmiş devlet fikrine kaynak denir.
Bir web mimarisi ekosisteminde hangi pozisyonu kaplar?
REST genellikle web servisleri arayüzü ile ilişkilendirilir çünkü HTTP en yaygın taşıyıcı protokolüdür. 7 katmanlı modelde uygulama katında bulunur . Bununla birlikte, bir sonraki bölüme bakınız.
Protokol ile ne kadar sıkı (veya gevşek) bağlanır?
REST HTTP değil. HTTP kullanır çünkü en genel haliyle REST, bir makinenin fiil kavramını, adların keyfi bir şekilde toplanmasına karşı eşlemesinde yardımcı olmak için vardır. HTTP, HTTP kullanarak URI olarak ifade edilen isteğe bağlı isimlere, örneğin, örneğin GET http://example.org/Product(54 ) uygulanabilen kullanışlı bir genel fiil seti (GET, PUT, PATCH vb.) İçerir .
REST'in alternatifleri nelerdir ve REST bunlarla nasıl karşılaştırılır?
Bu, “Benim yaklaşımım ne kadar Dürüst?” Diye sormaya benzer. (Dan özetlenen 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 bir tünel olarak HTTP kullanıyorsunuz. İstek gövdesinin içeriğine bağlı olarak her şeyi yapan tek bir bitiş noktasını hedeflersiniz.
Seviye 1 - Kaynaklar
Her şey için POST kullanın. Belirli bir şey hakkında bilgi sunmak için tasarlanmış çoklu uç noktaları hedefleyin. Az önce kaynakları keşfettin.
Seviye 2 - HTTP fiilleri
Kaynaklara karşı HTTP fiilleri kullanın. Şimdi alıyorsun. POST oluşturmak, PUT üzerine yazmak, kullanılabilir işlemler için SEÇENEKLER, kaynak SİL, de silin. Bu fiillerin kullanımı sonucunda farklı HTTP durum kodları daha alakalı hale gelmeye başlar (202 KABUL EDİLDİ Mİ?).
Seviye 3 - Hypermedia kontrolü ( HATEOAS )
Bu noktada son sıçramayı yapıyor ve hypermedia'yı bir akış kontrol mekanizması olarak tanıtıyorsunuz. Bir REST istemcisinin, genel bir hiper medya anlayışı dışında, belirli bir uygulama veya sunucu ile nasıl etkileşime gireceği hakkında önceden bir bilgiye ihtiyacı yoktur. Bu, HTTP'de Content-Type başlık alanı aracılığıyla iletilebilir. Metin biçimleri AtomPub ve (daha özlü) HAL'ı içerirken, HyperAudio ses akışları için iyi çalışır (bkz. SoundCloud ve diğerleri).