it-swarm-id.com

Apa itu REST (dalam bahasa Inggris sederhana)

Akhir-akhir ini saya menjadi tertarik membiasakan diri dengan REST. Saya mencoba membaca entri wiki di REST , tapi itu tidak membantu. Saya akan sangat menghargai jika seseorang dapat menjelaskan dalam bahasa Inggris yang sederhana (yang tanpa tidak perlu jargon teknologi)

  1. Apa itu REST
  2. Posisi apa yang ditempuhnya dalam ekosistem arsitektur web
  3. Seberapa erat (atau longgar) itu digabungkan dengan protokol.
  4. Apa alternatif untuk REST dan bagaimana REST dibandingkan dengan mereka.

Saya mengerti mungkin tidak mungkin menjawab ini dalam satu atau dua paragraf, dalam hal ini tautan yang relevan akan sangat dihargai.

85
Gaurav

Apa itu REST (dalam bahasa Inggris sederhana)

Bahasa Inggris Biasa:

Representasi: tindakan berbicara atau bertindak atas nama seseorang.
Status Transfer: status transfer.


Teknis:

  • kami tidak mentransfer objek aktual tetapi representasi objek dalam bentuk (mis., xml/json/teks untuk mewakili tabel database).
  • REST untuk mengekspos API publik melalui internet untuk menangani operasi CRUD pada data. REST difokuskan pada mengakses sumber daya yang disebutkan melalui antarmuka tunggal yang konsisten.
  • REST adalah mewakili melalui beberapa jenis media. Beberapa contoh jenis media termasuk XML, JSON, dan RDF.
  • REST adalah gaya arsitektur untuk arsitektur berorientasi sumber daya (ROA) , bukan spec atau standar.
  • Gaya arsitektur berarti konsep, teori (dan bagaimana penerapannya, terserah Anda)
  • Semuanya diidentifikasi oleh titik akhir yang unik. yaitu. Ada satu titik akhir untuk setiap sumber daya (data).
  • Endpoint terdiri dari nama domain dengan alamat sumber daya.

REST vs SOAP

10
Premraj

Apa itu REST?

Transfer Negara Representatif. Ini menggambarkan 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 tentang 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 bentuknya yang paling umum REST ada untuk membantu mesin dalam memetakan konsep kata kerja terhadap kumpulan kata benda yang sembarang. HTTP berisi sekumpulan kata kerja generik yang berguna (GET, PUT , PATCH, dll.) Yang dapat diterapkan pada kata benda sembarang 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 semuanya berdasarkan isi 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, yah, hapus sumber dayanya. Sebagai hasil dari penggunaan kata kerja ini berbeda kode status HTTP) mulai menjadi lebih relevan (202 DAPATKAN siapa pun?).

Level 3 - Kontrol Hypermedia ( HATEOAS )

Pada titik ini Anda membuat lompatan terakhir dan memperkenalkan hypermedia sebagai mekanisme kontrol aliran. Klien REST klien 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 Jenis-Konten. Format teks termasuk AtomPub dan (lebih ringkas) HAL , sementara HyperAudio bekerja dengan baik untuk stream audio (lihat SoundCloud et Al)

44
Gary Rowe

Sementara REST adalah singkatan dari Representational State Transfer, mungkin lebih mudah untuk mempertimbangkan gagasan melakukan berbagai tindakan melalui antarmuka yang agak intuitif.

Misalnya, URL seperti http://www.mysite.com/FindProduct/125/ dapat diartikan sebagai seseorang yang ingin informasi tentang produk dengan id 125.

Sementara REST biasanya dianggap dalam hal HTTP, konsep ini dapat diterapkan pada protokol lain seperti yang tercantum dalam referensi Wikipedia.

Contoh lain dari REST yang mungkin berguna:

11
JB King