View a markdown version of this page

Apa itu REST? - AWS AppSync GraphQL

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Apa itu REST?

Pada tingkat tinggi, representational State Transfer (REST) adalah arsitektur perangkat lunak yang memaksakan kondisi tentang bagaimana API harus bekerja. REST awalnya dibuat sebagai pedoman untuk mengelola komunikasi pada jaringan yang kompleks seperti internet. Anda dapat menggunakan REST-based arsitektur untuk mendukung komunikasi berkinerja tinggi dan andal dalam skala besar. Anda dapat dengan mudah mengimplementasikan dan memodifikasinya, membawa visibilitas dan portabilitas lintas platform ke sistem API apa pun.

Pengembang API dapat merancang API menggunakan beberapa arsitektur yang berbeda. API yang mengikuti gaya arsitektur REST disebut REST API. Layanan web yang menerapkan arsitektur REST disebut layanan web RESTful. Istilah RESTful API umumnya mengacu pada RESTful web API. Namun, Anda dapat menggunakan istilah REST API dan RESTful API secara bergantian.

Berikut ini adalah beberapa prinsip gaya arsitektur REST:

Antarmuka yang seragam

Antarmuka yang seragam sangat penting untuk desain layanan web RESTful apa pun. Ini menunjukkan bahwa server mentransfer informasi dalam format standar. Sumber daya yang diformat disebut representasi di REST. Format ini dapat berbeda dari representasi internal sumber daya pada aplikasi server. Misalnya, server dapat menyimpan data sebagai teks tetapi mengirimkannya dalam format representasi HTML.

Antarmuka yang seragam memaksakan empat kendala arsitektur:

  1. Permintaan harus mengidentifikasi sumber daya. Mereka melakukannya dengan menggunakan pengenal sumber daya yang seragam.

  2. Klien memiliki informasi yang cukup dalam representasi sumber daya untuk memodifikasi atau menghapus sumber daya jika mereka mau. Server memenuhi kondisi ini dengan mengirimkan metadata yang menjelaskan sumber daya lebih lanjut.

  3. Klien menerima informasi tentang cara memproses representasi lebih lanjut. Server mencapai ini dengan mengirimkan pesan deskriptif diri yang berisi metadata tentang bagaimana klien dapat menggunakannya dengan baik.

  4. Klien menerima informasi tentang semua sumber daya terkait lainnya yang mereka butuhkan untuk menyelesaikan tugas. Server mencapai ini dengan mengirim hyperlink dalam representasi sehingga klien dapat secara dinamis menemukan lebih banyak sumber daya.

Tanpa kewarganegaraan

Dalam arsitektur REST, kewarganegaraan mengacu pada metode komunikasi di mana server menyelesaikan setiap permintaan klien secara independen dari semua permintaan sebelumnya. Klien dapat meminta sumber daya dalam urutan apa pun, dan setiap permintaan tidak memiliki kewarganegaraan atau terisolasi dari permintaan lain. Kendala desain REST API ini menyiratkan bahwa server dapat sepenuhnya memahami dan memenuhi permintaan setiap saat.

Sistem berlapis

Dalam arsitektur sistem berlapis, klien dapat terhubung ke perantara resmi lainnya antara klien dan server, dan masih akan menerima tanggapan dari server. Server juga dapat meneruskan permintaan ke server lain. Anda dapat merancang layanan web RESTful Anda untuk berjalan di beberapa server dengan beberapa lapisan seperti keamanan, aplikasi, dan logika bisnis, bekerja sama untuk memenuhi permintaan klien. Lapisan ini tetap tidak terlihat oleh klien.

Cacheability

Layanan web RESTful mendukung caching, yang merupakan proses menyimpan beberapa respons pada klien atau pada perantara untuk meningkatkan waktu respons server. Misalnya, Anda mengunjungi situs web yang memiliki gambar header dan footer umum di setiap halaman. Setiap kali Anda mengunjungi halaman situs web baru, server harus mengirim ulang gambar yang sama. Untuk menghindari hal ini, klien menyimpan atau menyimpan gambar-gambar ini setelah respons pertama dan kemudian menggunakan gambar langsung dari cache. Layanan web RESTful mengontrol caching dengan menggunakan respons API yang mendefinisikan diri mereka sebagai cacheable atau non-cacheable.

Apa itu RESTful API?

RESTful API adalah antarmuka yang digunakan dua sistem komputer untuk bertukar informasi dengan aman melalui internet. Sebagian besar aplikasi bisnis harus berkomunikasi dengan aplikasi internal dan pihak ketiga lainnya untuk melakukan berbagai tugas. Misalnya, untuk menghasilkan slip gaji bulanan, sistem akun internal Anda harus berbagi data dengan sistem perbankan pelanggan Anda untuk mengotomatiskan faktur dan berkomunikasi dengan aplikasi lembar waktu internal. RESTful API mendukung pertukaran informasi ini karena mengikuti standar komunikasi perangkat lunak yang aman, andal, dan efisien.

Bagaimana cara kerja RESTful API?

Fungsi dasar dari RESTful API sama dengan menjelajah internet. Klien menghubungi server dengan menggunakan API ketika membutuhkan sumber daya. Pengembang API menjelaskan bagaimana klien harus menggunakan REST API dalam dokumentasi API aplikasi server. Berikut adalah langkah-langkah umum untuk setiap panggilan REST API:

  1. Klien mengirimkan permintaan ke server. Klien mengikuti dokumentasi API untuk memformat permintaan dengan cara yang dipahami server.

  2. Server mengautentikasi klien dan mengonfirmasi bahwa klien memiliki hak untuk membuat permintaan itu.

  3. Server menerima permintaan dan memprosesnya secara internal.

  4. Server mengembalikan respons ke klien. Respons berisi informasi yang memberi tahu klien apakah permintaan berhasil. Tanggapan juga mencakup informasi apa pun yang diminta klien.

Permintaan REST API dan detail respons sedikit berbeda tergantung pada bagaimana pengembang API merancang API.