Komunikasi antara server dan client dalam protokol HTTP dilakukan dalam bentuk teks, tetapi teks ini sebenarnya dikirim sebagai bit (biner) melalui jaringan. Berikut adalah prosesnya:
1. Pengiriman Data dalam Bentuk Teks
HTTP menggunakan format teks berbasis ASCII atau UTF-8, sehingga permintaan (request) dan respons (response) dapat dibaca manusia. Contohnya:
Contoh Permintaan HTTP (Request)
GET
→ Metode HTTP yang meminta sumber daya.Host
→ Nama domain server tujuan.User-Agent
→ Identitas perangkat/klien yang mengakses.Accept
→ Jenis konten yang dapat diterima oleh klien.
Contoh Respons HTTP (Response)
HTTP/1.1 200 OK
→ Status respons bahwa permintaan berhasil.Content-Type: text/html
→ Jenis data yang dikirim adalah HTML.Content-Length: 1024
→ Panjang konten dalam byte.
2. Pengiriman Data dalam Bentuk Bit (Biner)
Walaupun HTTP berbasis teks, ketika data dikirim melalui jaringan, data tersebut diubah menjadi bit (0 dan 1).
Sebagai contoh, teks GET /index.html HTTP/1.1
dalam ASCII dikonversi ke kode biner:
01000111
→ HurufG
01000101
→ HurufE
01010100
→ HurufT
00100000
→ Spasi00101111
→/
01101001
→i
- dan seterusnya...
Setiap huruf dan simbol dikonversi ke bentuk bit menggunakan kode ASCII atau UTF-8, lalu dikirim melalui protokol TCP/IP.
3. Bagaimana Data Ditransmisikan?
(1) TCP/IP Menangani Pengiriman Data
HTTP bekerja di atas protokol TCP/IP, yang membagi data menjadi paket-paket kecil sebelum dikirim melalui jaringan.
- Client mengirim permintaan HTTP → Data teks diubah menjadi bit dan dikirim ke server menggunakan TCP.
- Server menerima permintaan → Data bit dikonversi kembali ke teks oleh server.
- Server mengirim respons → Data teks dikonversi menjadi bit, dikirim ke klien, lalu ditampilkan di browser.
(2) Penggunaan Enkripsi (HTTPS)
Jika menggunakan HTTPS, data dikodekan dengan TLS/SSL sebelum dikirim. Ini membuat data lebih aman karena dikonversi menjadi bit terenkripsi, sehingga tidak bisa langsung dibaca oleh pihak ketiga.
Kesimpulan
- HTTP dikirim dalam bentuk teks yang bisa dibaca manusia.
- Tetapi, saat dikirim di jaringan, data dikonversi menjadi bit (0 dan 1).
- TCP/IP membagi data menjadi paket kecil agar bisa dikirim dengan lebih efisien.
- Dengan HTTPS, data dienkripsi sebelum dikirim untuk keamanan tambahan.
Kalau mau lihat lebih dalam, bisa pakai Wireshark untuk menganalisis bagaimana data HTTP sebenarnya dikirim!