REST API: Fondasi Komunikasi Aplikasi

iwanna
2 min readFeb 8, 2020

--

REST is acronym for REpresentational State Transfer. It is architectural style for distributed hypermedia systems and was first presented by Roy Fielding in 2000 in his famous dissertation.

Introduction

REST (Representional State Transfer) adalah suatu arsitektur metode komunikasi yang menggunakan protokol HTTP untuk pertukaran data dan metode ini sering diterapkan dalam pengembangan aplikasi.

API (Application Protocol Interface) adalah kumpulan dari subroutine definitions, protocol dan juga tools untuk berkomunikasi data antar aplikasi software.

Jadi bisa dibilang, REST itu adalah salah satu dari desain arsitektur di dalam API.

Adapun metode HTTP yang secara umum dipakai dalam REST api adalah:

  1. GET
    The GET method requests a representation of the specified resource. Requests using GET should only retrieve data. HEAD The HEAD method asks for a response identical to that of a GET request, but without the response body.
  2. POST
    The POST method is used to submit an entity to the specified resource, often causing a change in state or side effects on the server.
  3. PUT
    The PUT method replaces all current representations of the target resource with the request payload.
  4. DELETE
    The DELETE method deletes the specified resource.

Ada lagi method lainnya, yaitu:

CONNECT
The CONNECT method establishes a tunnel to the server identified by the target resource.

OPTIONS
The OPTIONS method is used to describe the communication options for the target resource.

TRACE
The TRACE method performs a message loop-back test along the path to the target resource.

PATCH
The PATCH method is used to apply partial modifications to a resource.

Cara Kerja

Pertama harus ada sebuah REST server yang akan menyediakan resource/data. Sebuah REST client akan membuat HTTP request ke server melalui sebuah global ID atau URIs dan server akan merespon dengan mengirimkan balik sebuah HTTP response sesuai yang diminta client.

Apa aja komponen dari HTTP request:

  • HTTP method seperti GET, POST, PUT, DELETE dll sesuai dengan tugasnya masing-masing
  • URI untuk mengetahui lokasi data di server
  • HTTP Version, seperti HTTP v1.1
  • Request Header, berisi metadata seperti Authorization, tipe client dan lain
  • Request Body, data yang diberikan client ke server seperi URI params

Apa saja komponen dari HTTP response:

  • Response Code, status server terhadap request yang diminta seperti 200, 401, 404 dan lainnya.
  • HTTP Version
  • Response Header yang berisi meta data seperti contect type, cache tag dan yang lainnya.
  • Repsonse Body, data/resource yang diberikan oleh server baik itu berupa text, json ataupun xml

Kelebihan

  • Bisa digunakan oleh banyak bahasa pemroggraman dan banyak platform
  • Lebih simple dibandingkan dengan SOAP
  • Mudah dipelajari
  • Menggunakan protokol HTTP, dan HTTP ada dimana-mana

Kekurangan

  • Waktu akses yang biasanya lebih lama dibandingkan dengan native library
  • Lebih rentan dengan serangan keamanan karena harus melewati protocol HTTP

--

--

iwanna
iwanna

Written by iwanna

Software Engineer | Sharing insights on web development & coding practices.

No responses yet