Skip to main content

Command Palette

Search for a command to run...

Memahami Protokol Penting untuk Developer Web Modern dan Cloud Infrastructure

Updated
8 min readView as Markdown
Memahami Protokol Penting untuk Developer Web Modern dan Cloud Infrastructure
A

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.