Belajar Frontend - Cara Kerja Web (Browser & HTTP)
Episode 2 of 28

Belajar Frontend - Cara Kerja Web (Browser & HTTP)

Memahami perjalanan sebuah halaman dari URL sampai pixel di layar: DNS dan hosting, protokol HTTP/HTTPS dengan status code, serta cara browser membangun DOM, CSSOM, layout, dan paint — lalu praktik menginspeksi semuanya langsung di DevTools

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

Setelah di episode 1 kita memahami peran dan tanggung jawab frontend developer, pada episode ini kita membedah apa yang sebenarnya terjadi di balik layar saat kalian mengetik URL dan menekan Enter. Dari ketik URL hingga pixel muncul di layar, ada puluhan langkah yang berjalan dalam hitungan milidetik — dan frontend developer yang baik tahu di mana letak setiap kaitannya dengan kode yang ia tulis.

Mengapa ini penting? Karena hampir semua masalah yang kalian temui di produksi — halaman lambat, gambar tidak muncul, request gagal, cache basi — berakar dari pemahaman lapisan ini. Episode 12 (performa) dan episode 20 (edge) akan membangun langsung di atas fondasi ini.

Perjalanan Sebuah Request

Saat kalian mengetik https://toko.kita/ dan menekan Enter:

100%
  1. DNS — browser menanyakan alamat IP dari nama domain ke resolver DNS.
  2. TCP + TLS — koneksi aman dibuat; HTTPS menjamin data terenkripsi.
  3. HTTP Request — browser mengirim request GET / ke server.
  4. Response — server mengembalikan HTML (plus CSS, JS, gambar yang dirujuk).
  5. Render — browser mengurai dan menggambar halaman.

HTTP dan HTTPS

HTTP adalah protokol percakapan antara browser (klien) dan server. Setiap percakapan punya request (permintaan) dan response (jawaban).

Metode HTTP

Metode HTTP yang umum
GET    → ambil data (baca halaman, ambil JSON)
POST   → kirim data baru (buat pesanan)
PUT    → perbarui data (ubah profil)
PATCH  → perbarui sebagian data
DELETE → hapus data

Status Code

Status code adalah "kode nada" jawaban server — kalian akan sering bertemu saat debugging:

KodeKelasContoh
200Sukses200 OK, 201 Created
3xxRedirect301 Moved Permanently, 304 Not Modified
4xxError klien404 Not Found, 401 Unauthorized, 403 Forbidden
5xxError server500 Internal Server Error, 503 Service Unavailable

Headers yang Sering Kalian Lihat

Contoh response headers
content-type: text/html; charset=utf-8
cache-control: public, max-age=3600
set-cookie: session=abc123

Di episode 18 kita akan membahas header keamanan seperti CSP, dan di episode 12 header cache-control untuk performa.

Note

HTTPS wajib untuk aplikasi produksi apa pun: selain enkripsi, browser memberlakukan pembatasan (seperti tidak mengizinkan fitur tertentu di halaman non-HTTPS). Jangan pernah memakai HTTP di produksi — episode 18 membahas detail keamanannya.

Cara Browser Merender Halaman

Setelah HTML dan CSS diterima, browser membangun halaman lewat beberapa tahap:

  1. Parsing HTML → DOM — HTML diubah menjadi pohon objek bernama DOM (Document Object Model).
  2. Parsing CSS → CSSOM — CSS diubah menjadi pohon CSSOM (CSS Object Model).
  3. Render Tree — DOM dan CSSOM digabung menjadi apa yang layak digambar.
  4. Layout — browser menghitung posisi dan ukuran setiap elemen.
  5. Paint — browser menggambar pixel; lalu Composite menggabungkan layer.
100%

Dua hal yang paling sering mempengaruhi performa: Layout (banyak disebut reflow) dan Paint (banyak disebut repaint). Mengubah width memicu layout ulang; mengubah color hanya memicu paint. Episode 16 (animasi) dan 12 (performa) akan kembali ke istilah ini.

JavaScript dan Render Blocking

JavaScript berjalan di main thread yang sama dengan layout dan paint. Script besar yang berada di <head> memblokir render:

HTMLScript blocking vs async
<script src="app.js"></script>            <!-- blocking: render menunggu -->
<script async src="app.js"></script>      <!-- tidak memblokir -->
<script defer src="app.js"></script>      <!-- dijalankan setelah parse -->

Jadi urutan dan penempatan script sangat menentukan seberapa cepat halaman "terlihat". Kita akan mengoptimalkannya di episode 12.

Cache dan Hosting

Cache menyimpan salinan resource agar request berikutnya tidak mengulang unduhan penuh. Ada beberapa lapis:

  • Browser cache — dikendalikan header cache-control.
  • CDN cache — server terdekat dengan pengguna menyimpan salinan halaman/assets.
  • Service worker cache — cache aplikatif untuk mode offline (episode 22).

Hosting adalah tempat file kalian "tinggal" agar bisa diakses publik: VPS, shared hosting, atau platform seperti Vercel/Netlify/Cloudflare Pages. Platform modern biasanya sekaligus menyediakan CDN dan HTTPS otomatis — kita bahas deployment di episode 9 dan 20.

Praktik: Inspeksi di DevTools

Buka TokoKita (atau situs mana pun), buka DevTools, dan lakukan:

  1. Panel Network → reload halaman. Amati daftar request: status code, ukuran, dan waktu.
  2. Klik satu request HTML → tab Headers. Perhatikan method, status, dan cache-control.
  3. Panel Elements → klik elemen, lihat DOM di panel itu, dan kotak box model di panel samping.
  4. Panel Performance → rekam reload, lalu lihat bagian Layout & Paint di timeline.
Cek status code via curl
curl -I https://toko.kita/

Outputnya menunjukkan HTTP/2 200, cache-control, dan header lain — ringkasan cepat tanpa membuka browser.

Tip

Panel Network adalah alat pertama saat debugging apa pun yang berhubungan dengan data: gambar tidak muncul (cek status 404), data lama (cek header cache), atau halaman lambat (cek waktu server vs transfer). Biasakan membacanya sebelum bertanya ke orang lain.

Penutup

Inti yang harus dibawa pulang:

  • Perjalanan web: DNS → TLS → HTTP request/response → parse → layout → paint.
  • HTTP punya metode (GET/POST/…) dan status code (2xx/3xx/4xx/5xx) yang wajib dipahami.
  • Browser merender lewat DOM → CSSOM → Render Tree → Layout → Paint; JS yang memblokir render memperlambat semuanya.
  • Cache bertingkat (browser, CDN, service worker) dan hosting menyimpan serta mendistribusikan aplikasi.
  • DevTools Network & Elements adalah jendela untuk melihat semua lapisan ini secara nyata.

Di episode 3 selanjutnya kita mulai benar-benar menulis kode: HTML semantik & aksesibilitas — menyusun struktur dokumen yang bermakna (bukan sekadar <div> bertumpuk) dan memahami WCAG. Ini fondasi pertama yang akan kalian pakai di seluruh series. Sampai jumpa di episode 3!