Cara Kerja HTTP Request, Response, dan REST API
1. Latar Belakang
Dalam pengembangan aplikasi berbasis web, kita sering mendengar istilah Frontend (tampilan pengguna) dan Backend (server dan database). Kedua sisi ini seringkali terpisah dan berada di komputer yang berbeda. Agar aplikasi dapat berfungsi, Frontend perlu mengambil atau mengirim data ke Backend. Namun, bagaimana cara mereka "berbicara" satu sama lain?
Disinilah peran protokol HTTP dan konsep REST API. Tanpa pemahaman tentang bagaimana permintaan (request) dikirim dan bagaimana balasan (response) diterima, seorang programmer tidak akan bisa membuat aplikasi yang dinamis. Materi ini akan membahas mekanisme komunikasi tersebut yang menjadi tulang punggung dari seluruh aktivitas di internet.
2. Alat dan Bahan
a. Perangkat Lunak
- Web Browser (Chrome/Edge) dengan fitur Inspect Element (Network Tab).
- API Testing Tool (Postman atau Thunder Client)
- Text Editor (VS Code) untuk melihat format JSON.
b. Perangkat Keras
- Laptop / Komputer.
3. Pembahasan
3.1 Apa itu HTTP?
HTTP singkatan dari Hypertext Transfer Protocol. Secara sederhana, protokol adalah "aturan main" atau tata tertib. Jadi, HTTP adalah seperangkat aturan standar yang mengatur bagaimana dokumen atau data (seperti teks, gambar, video, dan kode program) dikirimkan melalui World Wide Web (internet).
Bayangkan HTTP sebagai bahasa universal. Agar browser (Google Chrome) di laptopmu bisa mengerti data yang dikirim oleh server (tempat website disimpan), keduanya harus sepakat menggunakan bahasa yang sama, yaitu HTTP. Sifat utama HTTP adalah Stateless, artinya server tidak "mengingat" riwayat permintaan sebelumnya; setiap interaksi dianggap baru dan berdiri sendiri.
3.2 Cara Kerja HTTP Request
A. Pengertian HTTP Request
HTTP Request (Permintaan) adalah pesan yang dikirim oleh Client (browser atau aplikasi) kepada Server untuk memulai suatu tindakan. Tindakan ini bisa berupa permintaan untuk mengambil data, menyimpan data baru, atau menghapus data.
B. Peran HTTP Request dalam Web
HTTP request berperan sebagai mekanisme utama pengiriman pesan terstruktur dari klien (browser/aplikasi) ke server untuk meminta data, melakukan aksi (CRUD: Create, Read, Update, Delete), atau memicu fungsi tertentu di web.
C. Bagian - Bagian HTTP Request
1. Method (Metode).
Menentukan jenis aksi yang dilakukan:
- GET –> Meminta data
- POST –> Mengirim data
- PUT –> Mengganti data
- DELETE –> Menghapus data
2. URL (Uniform Resource Locator)
Lokasi data atau halaman yang diminta dari server.
3. Headers
Berisi metadata seperti:
- Content-Type: application/json
- User-Agent: Mozilla/5.0
- Authorization: Bearer <token>
4. Body (Opsional)
Hanya ada pada method seperti POST, PUT, PATCH. Digunakan untuk mengirim data, biasanya dalam format JSON atau form.
D. Langkah - Langkah Cara Kerja HTTP Request
1. Aksi User: Pengguna mengetik URL atau mengklik tombol di browser.
2. Pengemasan: Browser mengemas informasi (URL, Method, Header, Body) menjadi satu paket HTTP Request.
3. Resolusi DNS: Browser mencari alamat IP server tujuan melalui DNS (buku telepon internet).
4. Pengiriman: Paket Request dikirim melalui jalur internet menuju server tujuan.
3.3 Cara Kerja HTTP Response
A. Pengertian HTTP Response
HTTP Response (Balasan) adalah pesan yang dikirim balik oleh Server kepada Client setelah server selesai memproses permintaan dari Client.
B. Peran HTTP Response dalam Web
Perannya adalah memberikan kepastian dan hasil. Client perlu tahu apakah permintaannya berhasil atau gagal, dan Client juga membutuhkan data hasil olahan server untuk ditampilkan ke layar pengguna.
C. Bagian - Bagian HTTP Response
1. Status Code:
Kode angka yang memberi tahu hasil kerja server.
A. Kategori status kode
B. Status kode yang sering digunakan
2. Headers:
Informasi tentang data yang dikirim. Contoh Content-Type: application/json yang memberi tahu browser bahwa isi response berupa data JSON, bukan gambar.
3. Body (Isi Response):
Hasil utama yang diminta. Bisa berupa kode HTML untuk website biasa atau data JSON untuk aplikasi atau API.
Contoh HTTP Response yang berhasil:
HTTP/1.1 200 OK
Content-Type: application/json
{
"message": "Data berhasil diambil"
}
D. Langkah - Langkah Cara Kerja HTTP Response
1. Penerimaan: Server menerima paket HTTP Request dari client.
2. Pemrosesan: Server memproses permintaan dengan membaca request, mengecek database, atau menjalankan logika program.
3. Pengemasan: Server membungkus hasil pemrosesan berupa data dan status code ke dalam HTTP Response.
4. Pengiriman Balik: Server mengirimkan HTTP Response kembali ke client.
5. Rendering: Browser menerima response, membaca status code, lalu menampilkan isi body ke layar pengguna.
3.4 Apa itu REST API?
A. Apa itu REST API?
REST API (Representational State Transfer Application Programming Interface) adalah jenis arsitektur API yang digunakan dalam software development untuk mengizinkan komunikasi antara berbagai sistem atau perangkat lunak melalui protokol HTTP. REST API beroperasi berdasarkan prinsip-prinsip REST, yang merupakan pendekatan yang sederhana dan ringkas untuk mentransfer data melalui jaringan.
B. Perbedaan Antara REST API dan RESTful API
C. Struktur REST API
1. Endpoint (URL/Alamat)
Ini adalah komponen paling terlihat. Dalam REST API, URL disebut sebagai Resource (Sumber Daya).
- Base URL (Alamat Dasar): Bagian depan yang tetap. Contoh: https://api.sekolah.id/v1
- Resource Path (Jalur Data): Menunjukkan objek apa yang mau diakses. Contoh: /siswa, /guru, /kelas.
- Parameter/ID: Menunjuk data spesifik. Contoh: /siswa/1001 (Siswa dengan NISN 1001).
2. HTTP Methods
Karena URL isinya hanya kata benda, kita menggunakan HTTP Method untuk menentukan "mau diapakan" benda tersebut. Ini struktur yang membedakan aksi.
| Method | Fungsi | Contoh Endpoint | Artinya |
| GET | Membaca (Read) | /siswa | "Ambilkan daftar semua siswa" |
| GET | Membaca Detail | /siswa/1001 | "Ambilkan data siswa NISN 1001" |
| POST | Membuat (Create) | /siswa | "Buatkan siswa baru (data ada di body)" |
| PUT | Mengganti (Update) | /siswa/1001 | "Ganti data siswa 1001 dengan yang baru" |
| DELETE | Menghapus (Delete) | /siswa/1001 | "Hapus siswa NISN 1001" |
3. Request Body (Isi Paket Kiriman)
Struktur ini digunakan saat kita mengirim data ke server (biasanya pada method POST dan PUT). Format standar strukturnya adalah JSON.
Contoh Request Body:
{
"nisn": "1005",
"nama": "Budi Santoso",
"kelas": "XII RPL 1",
"alamat": "Jl. Merdeka No. 45"
}
4. Response (Balasan Server)
Struktur balasan dari server harus konsisten agar Frontend tidak bingung. Struktur response yang baik biasanya terdiri dari:
- Status Code: Indikator keberhasilan (200, 201, 400, 404, 500).
- Success/Message: Pesan yang bisa dibaca manusia.
- Data: Isi data utamanya.
D. Cara Kerja REST API
Cara kerja REST API melibatkan serangkaian permintaan dan respons HTTP antara klien (client) dan server. Klien adalah aplikasi atau perangkat yang ingin berinteraksi dengan sumber daya atau data yang disediakan oleh server melalui API. Berikut adalah langkah-langkah umum dalam cara kerja REST API.
1. HTTP Request dari Klien
Klien membuat HTTP request ke server untuk mengakses atau memanipulasi sumber daya tertentu.
2. Pengiriman Permintaan ke Endpoint
Klien mengirim request ke server dengan menyertakan URL atau endpoint yang sesuai dengan sumber daya yang ingin diakses. Contoh endpoint: http://contoh.com/api/data.
3. Proses Permintaan di Server
Server menerima permintaan dan memprosesnya sesuai dengan metode dan endpoint yang diberikan. Server kemudian mengambil data dari database atau melakukan operasi lain yang diperlukan berdasarkan permintaan tersebut.
4. Pembuatan Respons
Setelah memproses permintaan, server menghasilkan respons yang sesuai. Respons ini biasanya berupa data yang diminta oleh klien atau konfirmasi bahwa operasi berhasil dilakukan.
5. Pengiriman Respons ke Klien
Server mengirimkan respons ke klien melalui HTTP. Respons ini berisi status kode HTTP untuk menunjukkan apakah permintaan berhasil atau gagal, bersama dengan data yang diminta atau informasi lain yang relevan.
6. Pemrosesan Respons di Klien
Klien menerima respons dari server dan memprosesnya sesuai dengan kebutuhan. Misalnya, jika klien melakukan permintaan GET, data dari respons akan digunakan untuk menampilkan informasi pada antarmuka pengguna.
7. Interaksi Lanjutan (Opsional)
Berdasarkan respons yang diterima, klien atau server dapat melakukan interaksi lanjutan seperti permintaan tambahan atau operasi lebih lanjut.
4. Daftar Pustaka
Codekop. (n.d.). Cara memahami HTTP request: Cara kerja web dari balik layar. Diakses dari https://www.codekop.com/read/cara-memahami-http-request-cara-kerja-web-dari-balik-layar-110.html
Backend Turing Edu. (n.d.). How the web works: HTTP. Diakses dari https://backend-turing-edu.translate.goog/module2/lessons/how_the_web_works_http?_x_tr_sl=en&_x_tr_tl=id&_x_tr_hl=id&_x_tr_pto=tc
IBM. (n.d.). Apa itu REST API?. Diakses dari https://www.ibm.com/id-id/think/topics/rest-apis
Digital Skola. (n.d.). Apa itu REST API. Diakses dari https://digitalskola.com/blog/data-engineer/apa-itu-rest-api
Rumahweb. (n.d.). REST API adalah: Pengertian, fungsi, dan cara kerja. Diakses dari https://www.rumahweb.com/journal/rest-api-adalah/
MTarget. (n.d.). Apa itu REST API?. Diakses dari https://mtarget.co/blog/apa-itu-rest-api/

0 Komentar