Protokol-protokol ini bekerja pada lapisan yang berbeda. HTTP mengatur pertukaran pesan aplikasi, sedangkan TCP dan UDP menyediakan mekanisme transport. Memahami perannya membantu memilih teknologi dan menelusuri gangguan jaringan.
Ini peta konsep yang menyederhanakan detail protokol:
- UDP tidak memiliki handshake koneksi atau pola request–response bawaan. Aplikasi menentukan pertukarannya sendiri.
- HTTP/3 memakai koneksi QUIC; tulisan “UDP connection” pada gambar tidak berarti UDP menyediakan koneksi seperti TCP.
- Pengambilan email dari mailbox umumnya memakai IMAP atau POP3; SMTP berfokus pada pengiriman.
Fungsi singkat
Protokol | Kegunaan utama |
HTTP | Pertukaran request dan response untuk resource web. |
HTTP/3 | Semantik HTTP di atas QUIC, yang menggunakan UDP sebagai transport dasar. |
HTTPS | HTTP yang diamankan dengan TLS. |
WebSocket | Komunikasi dua arah untuk kebutuhan seperti chat dan pembaruan langsung. |
TCP | Aliran byte yang andal dan berurutan. |
UDP | Pengiriman datagram tanpa jaminan pengantaran atau urutan bawaan. |
SMTP | Pengiriman dan relay email. |
FTP | Transfer file melalui koneksi kontrol dan data terpisah. |
1. HTTP — HyperText Transfer Protocol
HTTP adalah protokol lapisan aplikasi untuk bertukar resource, seperti dokumen HTML, gambar, script, dan data JSON. Dalam model client–server, client mengirim request dan server membalas dengan response.
Request memuat method, target, header, dan bila diperlukan body. Response membawa status code, header, serta konten. Contohnya,
GET /articles meminta daftar artikel, sedangkan POST /orders mengirim data untuk membuat order.HTTP tidak terbatas pada halaman yang dibuka browser. Aplikasi mobile, service backend, dan alat seperti
curl juga memakainya untuk berkomunikasi.2. HTTP/3 — HTTP di atas QUIC
HTTP/3 mempertahankan konsep HTTP seperti method, status code, dan header, tetapi memetakannya ke transport QUIC. QUIC menggunakan UDP sebagai transport dasar dan menyediakan mekanisme koneksi, keamanan, serta pengiriman stream yang andal di atasnya.
QUIC mendukung beberapa stream dalam satu koneksi. Kehilangan paket pada satu stream tidak mengharuskan semua stream lain menunggu urutan byte yang sama seperti pada satu koneksi TCP. Proses pembentukan koneksinya juga dirancang untuk mengurangi latency.
HTTP/3 dapat membantu pengalaman web pada jaringan tertentu, termasuk jaringan mobile, tetapi tidak selalu lebih cepat untuk setiap aplikasi. Hasilnya bergantung pada jaringan, implementasi client–server, dan karakteristik beban. Menggunakan UDP bukan berarti HTTP/3 mengabaikan keandalan data.
3. HTTPS — HyperText Transfer Protocol Secure
HTTPS adalah penggunaan HTTP melalui koneksi yang diamankan dengan TLS. Perlindungannya mencakup kerahasiaan data selama perjalanan, integritas pesan, dan autentikasi server melalui sertifikat.
Contohnya, ketika pengguna mengirim password ke halaman login, HTTPS melindungi komunikasi antara client dan endpoint TLS yang dituju. Aplikasi tetap bertanggung jawab memvalidasi pengguna dan memeriksa hak akses setelah request diterima.
HTTPS dapat dipakai bersama berbagai versi HTTP. Pada HTTP/1.1 dan HTTP/2, koneksi HTTPS menggunakan TLS di atas TCP; pada HTTP/3, perlindungan TLS terintegrasi dengan QUIC.
4. WebSocket — Komunikasi Pesan Dua Arah
WebSocket menyediakan kanal komunikasi yang bertahan terbuka sehingga client dan server dapat saling mengirim pesan tanpa membuat request polling untuk setiap pembaruan. Sifat ini disebut full-duplex.
Pada alur WebSocket klasik, koneksi dibangun melalui handshake dan komunikasi berjalan di atas TCP.
wss:// digunakan untuk koneksi yang dilindungi TLS. Contoh penggunaannya adalah chat, pembaruan harga, dan kolaborasi langsung.REST adalah gaya arsitektur, sehingga perbandingan “REST selalu pull, WebSocket selalu push” terlalu menyederhanakan. Perbedaan praktis yang perlu dipahami di sini adalah request–response biasa dibandingkan kanal pesan dua arah yang tetap terbuka.
5. TCP — Transmission Control Protocol
TCP menyediakan aliran byte yang andal dan berurutan antara dua endpoint. Mekanismenya mencakup pembentukan koneksi, acknowledgment, retransmission, flow control, dan congestion control.
Jika segmen hilang, TCP dapat mengirim ulang datanya. Aplikasi menerima byte sesuai urutan, tetapi batas antar-pesan aplikasi tidak otomatis dipertahankan. Aplikasi perlu menentukan cara mengenali akhir sebuah pesan, misalnya menggunakan panjang pesan atau format protokol.
Keandalan transport juga bukan jaminan bahwa operasi bisnis telah selesai. Koneksi yang terputus dapat tetap meninggalkan ketidakpastian apakah server sudah menyimpan transaksi. Aplikasi masih membutuhkan penanganan timeout dan retry yang sesuai.
6. UDP — User Datagram Protocol
UDP mengirim data dalam bentuk datagram tanpa handshake pembentukan koneksi seperti TCP. UDP sendiri tidak menjamin datagram sampai, tiba berurutan, atau hanya diterima sekali.
Aplikasi dapat memilih UDP ketika keterlambatan lebih merugikan daripada kehilangan sebagian data. Contohnya, pada percakapan suara langsung, memutar paket audio lama setelah menunggu retransmission dapat lebih mengganggu daripada melewati bagian yang hilang.
Jika kebutuhan aplikasi menuntut keandalan tambahan, mekanisme itu dapat dibangun pada lapisan di atas UDP, seperti yang dilakukan QUIC. Jadi, UDP bukan sinonim “selalu lebih cepat” atau “semua aplikasi di atasnya boleh kehilangan data”.
7. SMTP — Simple Mail Transfer Protocol
SMTP digunakan untuk mengirim dan meneruskan email. Alurnya dapat melibatkan aplikasi pengirim, server submission, dan server email penerima melalui proses relay.
Contohnya, aplikasi mengirim email reset password melalui layanan SMTP. Server pengirim kemudian mengantarkan pesan menuju server yang menangani domain penerima.
SMTP berfokus pada pengiriman email. Membaca atau menyinkronkan mailbox di aplikasi email umumnya menggunakan IMAP atau POP3; antarmuka webmail dapat memakai HTTP. Karena itu, label “sending/receiving emails” pada ilustrasi perlu dibaca sebagai gambaran pengantaran email antar-komponen.
8. FTP — File Transfer Protocol
FTP memindahkan file antara client dan server menggunakan koneksi kontrol dan koneksi data yang terpisah. Koneksi kontrol membawa perintah serta respons, sedangkan koneksi data membawa isi file atau daftar direktori.
Pemisahan ini penting saat troubleshooting: login dapat berhasil sementara transfer file gagal karena jalur koneksi datanya bermasalah. Konfigurasi firewall dan mode transfer perlu diperiksa sesuai lingkungan.
FTP dasar tidak mengenkripsi kredensial dan data. Untuk transfer informasi sensitif, gunakan mekanisme transfer yang menyediakan enkripsi sesuai dukungan server dan kebutuhan operasional.
Saat troubleshooting, bedakan kegagalan transport, TLS, dan respons aplikasi. Server yang mengembalikan HTTP 404 sudah memberikan respons aplikasi; penyebabnya perlu ditelusuri pada host atau route yang dituju.


