Apa itu REST?
Transfer Negara Representatif. Ini menjelaskan bagaimana satu sistem dapat berkomunikasi keadaan dengan yang lain. Salah satu contoh adalah keadaan suatu produk (namanya, deskripsi dll) yang direpresentasikan sebagai XML, JSON, atau teks biasa. Gagasan umum negara disebut sumber daya.
Posisi apa yang ditempatinya dalam ekosistem arsitektur web?
REST umumnya dikaitkan dengan antarmuka layanan web karena HTTP sejauh ini merupakan protokol operator yang paling umum. Dalam model 7-lapisan itu ada di lapisan aplikasi . Namun, lihat bagian selanjutnya.
Seberapa erat (atau longgar) itu digabungkan dengan protokol?
REST bukan HTTP. Ia menggunakan HTTP karena dalam bentuk yang paling umum REST ada untuk membantu mesin dalam memetakan konsep kata kerja terhadap kumpulan kata benda yang berubah-ubah. HTTP berisi seperangkat kata kerja generik yang berguna (GET, PUT, PATCH dll) yang dapat diterapkan pada kata benda sewenang-wenang yang dinyatakan sebagai URI menggunakan HTTP misalnya GET http://example.org/Product(54 ).
Apa alternatif untuk REST dan bagaimana REST dibandingkan dengan mereka
Ini mirip dengan bertanya, "Seberapa tenang pendekatan saya?" Gunakan daftar berikut (dirangkum dari Richardson Maturity Model seperti yang dijelaskan oleh Martin Fowler ):
Level 0 - Rawa POX
Gunakan POST untuk semuanya (membaca, menulis, menghapus). Ini adalah SOAP, POX, RPI dll. Anda hanya menggunakan HTTP sebagai terowongan untuk protokol Anda sendiri. Anda menargetkan titik akhir tunggal yang melakukan segalanya berdasarkan konten dari badan permintaan.
Level 1 - Sumber Daya
Gunakan POST untuk semuanya. Targetkan beberapa titik akhir yang dirancang untuk menyajikan informasi tentang hal tertentu. Anda baru saja menemukan sumber daya.
Level 2 - kata kerja HTTP
Gunakan kata kerja HTTP terhadap sumber daya. Sekarang Anda DAPATKAN. POST adalah untuk membuat, PUT adalah untuk menimpa, OPSI untuk operasi yang tersedia, HAPUS untuk, well, hapus sumber daya. Sebagai hasil dari penggunaan kata kerja ini, berbagai kode status HTTP mulai menjadi lebih relevan (202 DITERIMA siapa saja?).
Level 3 - Kontrol Hypermedia ( HATEOAS )
Pada titik ini Anda membuat lompatan terakhir dan memperkenalkan hypermedia sebagai mekanisme kontrol aliran. Klien REST tidak memerlukan pengetahuan sebelumnya tentang cara berinteraksi dengan aplikasi atau server tertentu di luar pemahaman generik hypermedia. Ini dapat dikomunikasikan dalam HTTP melalui bidang header Tipe-Konten. Format teks termasuk AtomPub dan (lebih ringkas) HAL , sementara HyperAudio bekerja dengan baik untuk stream audio (lihat SoundCloud et al)