REST API vs HTTP API vs WebSocket API
Pahami pertukaran antara REST API (kaya fitur), HTTP API (latensi rendah dan biaya rendah), serta WebSocket API (dua arah), lalu pilih yang sesuai.
REST API vs HTTP API vs WebSocket API adalah pelajaran Cloud & IT Cert Prep gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cloud & IT Cert Prep, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.
Alasan API Gateway Dibuat
Amazon API Gateway adalah layanan yang dikelola sepenuhnya dan memungkinkan Anda membuat, menerbitkan, mengamankan, serta memantau API dalam skala apa pun. Layanan ini berfungsi sebagai pintu depan untuk layanan backend Anda—fungsi Lambda, instans EC2, backend HTTP, atau layanan AWS apa pun. API Gateway menangani pengelolaan lalu lintas, otorisasi, pembatasan laju, pemantauan, dan pembuatan versi API, sehingga backend Anda dapat berfokus pada logika bisnis, bukan pada urusan infrastruktur API.
API REST: API Tradisional dengan Fitur Lengkap
API REST (produk API Gateway asli) menyediakan rangkaian fitur terluas: transformasi permintaan/tanggapan dengan templat pemetaan, pembatasan laju per metode, rencana penggunaan dengan kunci API, penyimpanan tanggapan dalam cache, integrasi WAF, pelacakan X-Ray, kebijakan sumber daya, dan TLS mutual dengan sertifikat klien. API REST mendukung semua jenis integrasi: Lambda, HTTP, layanan AWS, Mock, dan Lambda Proxy. Gunakan API REST jika Anda memerlukan fitur lanjutan seperti transformasi, caching, atau rencana penggunaan.
API HTTP: Alternatif Berlatensi Rendah dan Berbiaya Rendah
API HTTP dirancang sebagai alternatif yang lebih sederhana, murah, dan cepat dibandingkan API REST. API ini hanya mendukung integrasi proksi Lambda dan proksi HTTP—tidak mendukung integrasi layanan AWS maupun mock. Keunggulan utamanya: biaya hingga 70% lebih rendah daripada API REST, latensi lebih rendah, otorisasi JWT OIDC dan OAuth 2.0 bawaan (tidak memerlukan pengotorisasi Lambda untuk skenario autentikasi umum), serta penerapan otomatis. Jika Anda tidak memerlukan caching, rencana penggunaan, atau transformasi permintaan/tanggapan, API HTTP merupakan pilihan yang lebih baik.
# Create a simple HTTP API
aws apigatewayv2 create-api \
--name 'MyHttpAPI' \
--protocol-type HTTP \
--target 'arn:aws:lambda:us-east-1:123456789012:function:MyLambda'API WebSocket: Komunikasi Dua Arah Waktu Nyata
API WebSocket mempertahankan koneksi dua arah yang persisten antara klien dan server. Berbeda dari HTTP (permintaan-tanggapan), WebSocket memungkinkan server mendorong pesan ke klien yang terhubung kapan saja tanpa klien melakukan polling. API Gateway mengelola koneksi WebSocket dan merutekan pesan ke fungsi Lambda berdasarkan ekspresi rute. Gunakan API WebSocket untuk aplikasi waktu nyata: aplikasi obrolan, dasbor langsung, pengeditan kolaboratif, permainan, dan ticker saham.
Rute WebSocket dan Pengelolaan Koneksi
API WebSocket memiliki tiga rute bawaan: $connect (dipicu saat klien membuka koneksi), $disconnect (dipicu saat koneksi ditutup), dan $default (menangkap pesan yang tidak cocok). Anda dapat menambahkan rute khusus seperti sendmessage yang dipetakan ke fungsi Lambda tertentu. Gunakan API pengelolaan @connections untuk mengirim pesan kembali ke klien yang terhubung dari fungsi Lambda Anda menggunakan ID koneksi milik klien.
# Send a message to a specific WebSocket client from Lambda
import boto3
gw_client = boto3.client(
'apigatewaymanagementapi',
endpoint_url='https://abc123.execute-api.us-east-1.amazonaws.com/prod'
)
def lambda_handler(event, context):
connection_id = event['requestContext']['connectionId']
gw_client.post_to_connection(
Data='{"type": "message", "text": "Hello!"}',
ConnectionId=connection_id
)Perbandingan Fitur: REST vs HTTP vs WebSocket
Perbedaan utama secara ringkas:
- API REST: fitur lengkap (caching, rencana penggunaan, transformasi, WAF), biaya lebih tinggi, mendukung semua jenis integrasi
- API HTTP: hanya proksi Lambda/HTTP, 70% lebih murah, autentikasi JWT bawaan, latensi lebih rendah, tanpa caching atau rencana penggunaan
- API WebSocket: koneksi dua arah yang persisten, mampu mendorong data dari server, ditagihkan per juta pesan dan per menit waktu koneksi
Untuk ujian SAA-C03: pertanyaan HTTP tanpa fitur waktu nyata atau lanjutan → API HTTP. Dorongan data waktu nyata → WebSocket. Fitur API yang kompleks → API REST.
Tahap dan Penerapan
API API Gateway diterapkan ke tahap (misalnya, dev, staging, prod). Setiap tahap memiliki URL dan pengaturan pembatasan lajunya sendiri, serta dapat merujuk ke snapshot penerapan tertentu. Gunakan variabel tahap (mirip dengan variabel lingkungan) untuk memparameterkan titik akhir backend per tahap—misalnya, arahkan tahap dev ke alias Lambda dev dan prod ke alias prod tanpa menggandakan konfigurasi API.
# REST API: create a deployment and stage
aws apigateway create-deployment \
--rest-api-id 'abc123' \
--stage-name 'prod'
# Set stage variable
aws apigateway update-stage \
--rest-api-id 'abc123' \
--stage-name 'prod' \
--patch-operations 'op=replace,path=/variables/lambdaAlias,value=prod'Nama Domain Khusus dan Pemetaan Jalur Dasar
Secara default, URL API Gateway berisi ID API (misalnya, abc123.execute-api.us-east-1.amazonaws.com). Untuk penggunaan produksi, buat nama domain khusus yang didukung oleh sertifikat ACM, lalu petakan ke API dan tahap Anda. Gunakan pemetaan jalur dasar untuk meng-host beberapa API di bawah satu domain (misalnya, api.example.com/orders → API Pesanan, api.example.com/users → API Pengguna). Nama domain khusus memerlukan catatan alias Route 53 yang mengarah ke titik akhir API Gateway.
API yang Dioptimalkan Edge vs Regional vs Privat
API REST dapat diterapkan dalam tiga jenis titik akhir: Dioptimalkan Edge (front-end CloudFront untuk distribusi global, sebagai default), Regional (tanpa CloudFront, latensi lebih rendah untuk klien di wilayah yang sama atau saat Anda menambahkan CloudFront sendiri), dan Privat (hanya dapat diakses dari dalam VPC melalui titik akhir VPC antarmuka, untuk layanan mikro internal). API HTTP mendukung Dioptimalkan Edge dan Regional. API WebSocket mendukung Regional dan Privat. Pilih Regional untuk API yang digunakan dari wilayah yang sama atau saat menggunakan distribusi CloudFront khusus.
Penerapan Canary dengan API Gateway
API REST API Gateway mendukung penerapan canary pada suatu tahap. Anda dapat merutekan persentase lalu lintas ke penerapan canary (versi baru), sementara sisanya menuju penerapan produksi. Pantau tingkat kesalahan dan latensi pada canary; jika stabil, promosikan ke 100%. Jika muncul masalah, lakukan pengembalian dengan menetapkan bobot canary ke 0. Hal ini serupa dengan perutean berbobot alias Lambda dan memungkinkan pembaruan API yang aman dan bertahap tanpa mengganti lingkungan secara blue/green.
Memilih Jenis API yang Tepat untuk Ujian
Kata kunci soal ujian SAA-C03 untuk mengenali jenis API: 'API sederhana yang hemat biaya' → API HTTP; 'dua arah waktu nyata' atau 'dorongan dari server' atau 'obrolan' → API WebSocket; 'transformasi permintaan', 'rencana penggunaan', 'pembatasan laju kunci API', 'caching tanggapan' → API REST. Jika pertanyaannya hanya 'mengekspos Lambda sebagai titik akhir HTTP dengan biaya rendah', API HTTP adalah pilihan yang tepat. Jika pertanyaannya melibatkan fitur pengelolaan API yang kompleks atau mitra, API REST biasanya merupakan jawaban yang benar.
Pemeriksaan Cepat
Uji pemahaman Anda tentang konsep AWS Solutions Architect (SAA-C03) dari pelajaran ini.
Rangkuman Pelajaran
Dalam pelajaran ini Anda mempelajari bahwa API REST menyediakan seluruh rangkaian fitur API Gateway (caching, transformasi, rencana penggunaan, WAF) dengan biaya lebih tinggi; API HTTP 70% lebih murah, memiliki autentikasi JWT bawaan dan latensi lebih rendah, sehingga ideal untuk skenario proksi Lambda/HTTP tanpa fitur lanjutan; dan API WebSocket memungkinkan komunikasi waktu nyata dengan dorongan dari server melalui koneksi persisten untuk aplikasi obrolan, permainan, dan data langsung. Berikutnya kita akan membahas integrasi API Gateway dengan Lambda, backend HTTP, dan tanggapan mock.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “REST API vs HTTP API vs WebSocket API” gratis?
Ya — teks lengkap “REST API vs HTTP API vs WebSocket API” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cloud & IT Cert Prep, upgrade ke CoddyKit PRO. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “REST API vs HTTP API vs WebSocket API”?
Pahami pertukaran antara REST API (kaya fitur), HTTP API (latensi rendah dan biaya rendah), serta WebSocket API (dua arah), lalu pilih yang sesuai. Kamu berlatih Cloud & IT Cert Prep dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Cloud & IT Cert Prep?
Tidak diperlukan pengalaman sebelumnya. Cloud & IT Cert Prep di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “REST API vs HTTP API vs WebSocket API” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Cloud & IT Cert Prep ini?
Ya. Setiap pelajaran Cloud & IT Cert Prep menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- REST API vs HTTP API vs WebSocket API
- Integrasi: Lambda, HTTP, dan Tiruan
- Otorisasi: IAM, Pemberi Otorisasi Lambda, dan Cognito
- Pembatasan, Penyimpanan Tembolok, dan Rencana Penggunaan