Materi 3 dari 10 · Stasiun 4
Client-server dan HTTP
Setelah materi ini, kamu bisa:
- Bisa menjelaskan pola client-server dan alur permintaan-jawaban (request-response).
- Bisa membaca permintaan HTTP sederhana dan kode status seperti 200, 404, dan 500.
- Bisa menjelaskan bahwa HTTP tidak menjaga sambungan terus-menerus.
Sebaiknya sudah belajar:
Pelayan dan pelanggan
Di warung, pelanggan memesan, pelayan menjawab dengan makanan. Pelayan tidak pernah tiba-tiba datang membawa makanan yang tidak dipesan.
Sebagian besar internet bekerja seperti itu. Client (browser, aplikasi, ESP32) meminta. Server menjawab. Aturan bicara yang paling umum di web disebut HTTP.
Lihat percakapannya
Jalankan setiap skenario. Perhatikan siapa yang memulai dan apa isi jawabannya. Kartu terbuka setelah tiga skenario.
Simulasi interaktif tersedia saat JavaScript aktif.
Client selalu memulai. Setiap permintaan mendapat satu jawaban yang diawali kode status. 2xx berarti berhasil, 4xx kesalahan di pihak client, 5xx kesalahan di pihak server.
Isi permintaan HTTP
Seperti inilah teks yang benar-benar dikirim lewat jaringan.
Metode yang paling sering dipakai GET (meminta) dan POST (mengirim). HTTPS adalah HTTP yang dienkripsi (diacak supaya tidak bisa dibaca pihak lain), dan untuk apa pun yang menyangkut kata sandi atau data pribadi, HTTPS-lah yang dipakai.
GET /suhu HTTP/1.1 Host: api.contoh.id Accept: application/json
- Baris 1: Metode (GET), jalur (/suhu), dan versi protokol.
- Baris 2: Header, yaitu keterangan tambahan. Di sini isinya nama server yang dituju.
- Baris 4: Baris kosong menandai akhir header. Untuk POST, isi data menyusul setelahnya.
Tebak dulu
- Sensor ESP32 ingin memberi tahu server setiap kali suhu berubah. Dengan HTTP biasa, bagaimana caranya?
- Server menghubungi ESP32 setiap kali ingin tahu
- ESP32 mengirim permintaan POST setiap ada data baru
- Sambungan dibiarkan terbuka selamanya
Jawaban
ESP32 mengirim permintaan POST setiap ada data baru. Client yang memulai. ESP32 menjadi client yang mengirim data. Kalau HP juga ingin tahu, HP harus bertanya berulang-ulang. Kerepotan ini yang membuat IoT sering memakai MQTT (lihat MQTT: protokol khas IoT).
Kode status yang sering muncul
Ketuk satu per satu.
- 200
- OK. Berhasil.
- 301 / 302
- Pindah alamat. Client diarahkan ke alamat lain.
- 401 / 403
- Belum masuk, atau tidak berhak.
- 404
- Tidak ditemukan. Jalurnya salah.
- 500
- Server error. Masalahnya di server, bukan di permintaanmu.
Benar atau salah?
- "Browser dan server tersambung terus-menerus selama halaman terbuka."
- Benar
- Salah
Jawaban
Salah. Pada HTTP, setiap permintaan mendapat jawaban lalu selesai. Sambungan bisa dipakai ulang sebentar demi efisiensi, tapi server tidak bisa mengirim sesuatu tanpa diminta.
- "Kode 404 berarti servernya mati."
- Benar
- Salah
Jawaban
Salah. Server hidup dan menjawab. Ia hanya tidak menemukan jalur yang diminta. Kalau server mati, tidak ada jawaban sama sekali.
Selesai
- Client meminta, server menjawab. Client selalu memulai.
- Permintaan HTTP berisi metode (GET, POST), jalur, dan header. Jawabannya diawali kode status.
- HTTP tidak mendorong data ke client tanpa diminta.
Pancingan
Data di contoh tadi ditulis seperti {"suhu":29.4}. Format itu disebut JSON. Itu JSON: format data.
Berikutnya
Referensi
- RFC 9110, HTTP Semantics (metode dan kode status).
- MDN Web Docs, An overview of HTTP.
Draf AI. Belum direview manusia.
Kode materi n3 · versi 0.1 · 2026-10-06