Apa REST? - AWS AppSync

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

Apa REST?

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

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

Berikut ini adalah beberapa prinsip gaya REST arsitektur:

Antarmuka seragam

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

Antarmuka seragam memaksakan empat kendala arsitektur:

  1. Permintaan harus mengidentifikasi sumber daya. Mereka melakukannya dengan menggunakan pengenal sumber daya 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 sebaik-baiknya.

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

Tanpa kewarganegaraan

Dalam REST arsitektur, statelessness 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 REST API desain 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 RESTful web 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

RESTfullayanan web mendukung caching, yang merupakan proses menyimpan beberapa tanggapan 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. RESTfullayanan web mengontrol caching dengan menggunakan API respons yang mendefinisikan diri mereka sebagai cacheable atau noncacheable.

Apa itu RESTfulAPI?

RESTfulAPIadalah 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. RESTfulAPIsmendukung pertukaran informasi ini karena mereka mengikuti standar komunikasi perangkat lunak yang aman, andal, dan efisien.

Bagaimana cara RESTful APIs kerjanya?

Fungsi dasar dari a RESTful API adalah sama dengan browsing internet. Klien menghubungi server dengan menggunakan API ketika membutuhkan sumber daya. APIpengembang menjelaskan bagaimana klien harus menggunakan API dokumentasi aplikasi REST API dalam server. Ini adalah langkah-langkah umum untuk REST API panggilan apa pun:

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

  2. Server mengotentikasi 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.

Detail REST API permintaan dan respons sedikit berbeda tergantung pada bagaimana API pengembang mendesainAPI.