Memahami Protokol Penting untuk Developer Web Modern dan Cloud Infrastructure

I am an enthusiastic researcher and developer with a passion for using technology to innovate in business and education.
Ketika membangun aplikasi modern seperti Next.js, Cloudflare Workers, platform AI, microservices, atau real-time dashboard, ada banyak istilah jaringan yang sering muncul: TCP, UDP, HTTP/2, QUIC, WebSocket, gRPC, WireGuard, TLS, hingga DNS.
Banyak developer menggunakan teknologi tersebut setiap hari tanpa benar-benar memahami perannya. Padahal, memahami bagaimana data bergerak dari browser hingga server akan membantu dalam merancang sistem yang lebih cepat, aman, dan skalabel.
Artikel ini membahas setiap teknologi tersebut, kapan digunakan, serta bagaimana semuanya saling berhubungan.
Gambaran Besar
Sebelum membahas satu per satu, berikut alur sederhana ketika pengguna membuka sebuah website.
Browser
│
▼
DNS
│
▼
IP Server
│
TLS
│
TCP / QUIC
│
HTTP/2 / HTTP/3
│
Web Server
Jika aplikasi membutuhkan komunikasi realtime, maka setelah HTTP terbentuk dapat beralih ke:
HTTP
│
├── WebSocket
├── SSE
└── gRPC
1. TCP (Transmission Control Protocol)
Apa itu?
TCP adalah protokol transport yang memastikan data dikirim secara lengkap, berurutan, dan tanpa kehilangan.
Ia merupakan fondasi hampir seluruh internet.
Contoh:
membuka website
login
transfer file
database
email
Semuanya menggunakan TCP.
Cara kerja
Misalkan browser ingin mengirim:
Halo Dunia
TCP akan membaginya menjadi paket-paket kecil.
Packet 1
Packet 2
Packet 3
Packet 4
Server akan memastikan:
✓ semua paket diterima
✓ urutan benar
✓ paket hilang dikirim ulang
Kelebihan
Sangat andal
Menjamin urutan data
Banyak didukung
Kekurangan
Lebih lambat dibanding UDP karena ada proses:
ACK
Retransmission
Flow Control
Congestion Control
Cocok digunakan
REST API
Login
Database
Upload file
Download file
2. UDP (User Datagram Protocol)
Berbeda dengan TCP.
UDP lebih mementingkan kecepatan.
Ia tidak peduli apakah paket hilang.
Misalnya:
1
2
3
4
Jika paket nomor 2 hilang:
1
3
4
UDP tetap melanjutkan.
Tidak meminta pengiriman ulang.
Mengapa?
Karena untuk aplikasi realtime, terlambat lebih buruk daripada kehilangan sedikit data.
Misalnya:
Video Call
Lebih baik kehilangan satu frame daripada menunggu 300ms.
Digunakan oleh
Game Online
VoIP
Zoom
Google Meet
Discord
DNS
QUIC
TCP vs UDP
| TCP | UDP |
|---|---|
| Andal | Sangat cepat |
| Ada retransmission | Tidak ada |
| Ada ACK | Tidak ada |
| Berurutan | Tidak dijamin |
| Cocok untuk data penting | Cocok untuk realtime |
3. HTTP/2
HTTP adalah bahasa komunikasi antara Browser dan Server.
Versi lama:
HTTP/1.1
Setiap request sering membutuhkan koneksi tersendiri.
HTML
CSS
JS
Font
Image
Semuanya antre.
HTTP/2 memperbaikinya
Dengan Multiplexing.
1 Connection
├ HTML
├ CSS
├ JS
├ Font
└ Image
Semua berjalan bersamaan.
Fitur
Multiplexing
Header Compression
Binary Protocol
Server Push (jarang dipakai sekarang)
Digunakan oleh
Next.js
React
REST API
gRPC
4. HTTP/3 dan QUIC
HTTP/3 adalah evolusi HTTP.
Yang menarik:
HTTP/3 tidak memakai TCP.
Ia memakai QUIC.
HTTP/3
│
QUIC
│
UDP
Apa itu QUIC?
QUIC adalah transport modern.
Ia mencoba menggabungkan:
Kecepatan UDP
Keandalan TCP
Keunggulan
Handshake lebih cepat.
Reconnect lebih cepat.
Tidak mengalami Head-of-Line Blocking seperti TCP.
Lebih cocok untuk mobile.
Dipakai oleh
Chrome
Edge
Firefox
Cloudflare
Google
YouTube
5. WebSocket
HTTP biasanya:
Request
↓
Response
↓
Selesai
WebSocket berbeda.
Setelah koneksi terbentuk:
Browser
⇅
Server
Keduanya dapat saling mengirim data kapan saja.
Cocok untuk
Chat AI
WhatsApp
Dashboard
Multiplayer Game
Trading
Monitoring Server
Contoh
User mengetik
↓
Server langsung menerima
↓
AI membalas
↓
Browser menerima
↓
Semua realtime
6. SSE (Server-Sent Events)
SSE lebih sederhana dibanding WebSocket.
Server hanya mengirim data.
Client tidak bisa mengirim balik melalui koneksi yang sama.
Server
↓
↓
↓
↓
Browser
Sangat cocok untuk
Streaming AI.
Misalnya ChatGPT.
Hel
Hello
Hello Wo
Hello World
Server terus mengirim token.
Kelebihan
Lebih sederhana.
Lebih hemat resource.
Reconnect otomatis.
Kekurangan
Hanya satu arah.
SSE vs WebSocket
| SSE | WebSocket |
|---|---|
| Satu arah | Dua arah |
| Lebih sederhana | Lebih kompleks |
| Cocok AI Streaming | Cocok Chat |
7. gRPC
REST API menggunakan JSON.
Browser
↓
JSON
↓
Server
gRPC menggunakan Protocol Buffers.
Binary
↓
Lebih kecil
↓
Lebih cepat
Digunakan oleh
Google
Kubernetes
Istio
Microservices
Kelebihan
Sangat cepat
Strongly Typed
Mendukung Streaming
Code Generation
Cocok
Backend ke Backend.
Bukan komunikasi browser biasa.
8. WireGuard
WireGuard adalah VPN modern.
Misalnya:
Laptop
↓
Internet
↓
VPS
Dengan WireGuard:
Laptop
==== Encrypted Tunnel ====
VPS
Semua terenkripsi.
Digunakan
VPN
Server pribadi
Tailscale
Infrastruktur Cloud
Kelebihan
Sangat cepat
Ringan
Konfigurasi sederhana
Latensi rendah
9. TLS
TLS adalah alasan mengapa website menggunakan:
https://
Tanpa TLS:
Password
↓
Internet
Bisa disadap.
Dengan TLS:
Password
↓
Encrypted
↓
Internet
Tidak dapat dibaca pihak lain.
TLS dipakai oleh
HTTPS
SMTP
IMAP
HTTP/2
HTTP/3
VPN
10. DNS
Manusia mengingat:
google.com
Komputer mengingat:
142.250.xxx.xxx
DNS menerjemahkan:
google.com
↓
IP Address
Tanpa DNS:
Kita harus menghafal IP seluruh website.
Jenis Record
A
AAAA
CNAME
MX
TXT
NS
SRV
Masing-masing memiliki fungsi berbeda.
Bagaimana Semuanya Terhubung?
Ketika pengguna membuka:
https://quran.finlup.id
Urutannya:
1 DNS
│
▼
2 Mendapatkan IP
│
▼
3 TLS Handshake
│
▼
4 TCP / QUIC
│
▼
5 HTTP/2 atau HTTP/3
│
▼
6 Next.js / Cloudflare Worker
│
▼
7 Response ke Browser
Jika pengguna membuka fitur chat AI:
Browser
↓
HTTPS
↓
Cloudflare
↓
Worker
↓
Proxy AI
↓
LLM
Lalu respons dapat dikirim secara bertahap menggunakan SSE, atau komunikasi dua arah yang lebih kompleks menggunakan WebSocket, tergantung kebutuhan aplikasi.
Memilih Teknologi yang Tepat
| Kebutuhan | Teknologi yang Direkomendasikan |
|---|---|
| Website umum | HTTP/2 atau HTTP/3 |
| REST API | HTTP/2 |
| Streaming jawaban AI | SSE |
| Chat realtime | WebSocket |
| Multiplayer game | WebSocket atau UDP (sesuai arsitektur) |
| Komunikasi antar microservices | gRPC |
| VPN antar server | WireGuard |
| Enkripsi koneksi | TLS |
| Resolusi nama domain | DNS |
Kesimpulan
Setiap protokol memiliki peran yang berbeda dalam membangun aplikasi modern:
DNS menemukan alamat server dari nama domain.
TLS mengenkripsi komunikasi agar aman.
TCP menyediakan transport yang andal untuk sebagian besar aplikasi.
UDP mengutamakan kecepatan untuk komunikasi realtime.
QUIC memanfaatkan UDP untuk menghadirkan transport modern yang cepat dan andal.
HTTP/2 dan HTTP/3 menjadi fondasi komunikasi web masa kini.
WebSocket memungkinkan komunikasi dua arah secara realtime.
SSE menawarkan cara sederhana dan efisien untuk streaming data dari server ke browser.
gRPC mengoptimalkan komunikasi antar layanan backend dengan performa tinggi.
WireGuard menyediakan koneksi VPN yang ringan, aman, dan cepat.
Memahami bagaimana protokol-protokol ini saling melengkapi akan memudahkan Anda memilih arsitektur yang tepat. Misalnya, aplikasi AI modern sering menggabungkan HTTP/3 + TLS + DNS untuk akses web, SSE untuk streaming respons model bahasa, gRPC untuk komunikasi internal antar layanan, dan WireGuard untuk menghubungkan server secara aman dalam satu jaringan privat. Dengan memahami dasar-dasar ini, Anda tidak hanya mengetahui apa yang digunakan, tetapi juga mengapa suatu teknologi lebih tepat dibanding yang lain pada skenario tertentu.





