Roy Thomas Fielding menyatakan sebuah konsep pada disertasinya yang berjudul “Architectural Styles and the Design of Network-based Software Architectures” pada tahun 2000 mengenai protokol http yang sekarang cenderung dikenal dengan REST.

REST mengatur tentang hubungan client-server, dimana data pada server disediakan melalui representasi data dalam format sederhana, bisa berupa JSON dan atau XML. Representasi dari sumber daya atau koleksi sumberdaya, yang berpotensi dimodifikasi, dengan aksi dan hubungan di antaranya dibuat dapat ditemukan melalui metode yang disebut dengan hypermedia. Hypermedia merupakan landasan dari REST dan pada dasarnya adalah konsep menyediakan tautan ke sumber lain.

Selain hypermedia, ada beberapa syarat lain, seperti:

  • REST harus stateless: tidak bertahan antara sesi request. Hal ini mengharuskan ada pemisahan antara otentikasi akses dan layanan data.
  • Respon harus menyatakan cacheability: Membantu skalasi API jika (aplikasi) klien menghormati aturan cacheability.
  • REST fokus pada keseragaman: Jika menggunakan HTTP maka fitur yang tersedia sebaiknya digunakan saat memungkinkan, seperti penggunaan GET, POST, PUT, dan DELETE.

Syarat tersebut, dan syarat lainnya, memungkinkan arsitektur REST mendukung API yang dapat bertahan lama (tidak hanya tahunan, tapi dekade).

Unduh disertasi Roy Thomas Fielding disini: Architectural Styles and the Design of Network-based Software Architectures atau disini

Referensi: