Lompat ke konten
Kembali ke modul

Fondasi: Komputermu, Web, dan Alat Kerjamu · 4/7

Cara kerja web: dari URL sampai jadi tampilan

DNS, alamat IP, server, dan browser — perjalanan request-mu, langkah demi langkah.

Baca 22 menit

Setelah pelajaran ini kamu bisa

  • Melacak apa yang terjadi antara menekan Enter di sebuah URL sampai halaman muncul
  • Menjelaskan fungsi DNS dan kenapa ia ada
  • Menyebutkan bagian-bagian sebuah URL
  • Menjelaskan apa sebenarnya sebuah server

Ini pertanyaan yang akan ditanyakan di interview selama sepuluh tahun ke depan, dan alasannya bukan sekadar hafalan. Hampir setiap bug yang akan kamu telusuri berada di suatu titik di jalur ini.

Anatomi sebuah URL

text
https://shop.example.com:443/products/42?color=red#reviews
└─┬─┘   └───────┬───────┘└┬┘└─────┬────┘└────┬───┘└──┬──┘
scheme        host       port    path      query   fragment
BagianFungsinya
schemeProtokol yang dipakai. https itu http di dalam enkripsi.
hostMesin mana yang dituju, berdasarkan nama
portPintu mana di mesin itu. 443 untuk https, 80 untuk http — biasanya disembunyikan.
pathResource mana di server itu
queryParameter tambahan, berupa pasangan key=value setelah ?
fragmentHanya untuk browser. Tidak pernah dikirim ke server.

Langkah 1: nama jadi angka

Mesin di internet ditemukan lewat IP address, sebuah angka seperti 93.184.216.34. Manusia tidak bisa mengingat itu, jadi kita pakai nama. DNS — Domain Name System — adalah buku telepon yang mengubah example.com jadi sebuah IP address.

Langkah 2: koneksi terbuka

Browser-mu membuka koneksi TCP ke IP dan port itu. TCP menjamin byte-nya sampai, berurutan, atau kamu tahu kalau gagal. Untuk https, lalu terjadi TLS handshake: kedua sisi menyepakati kunci enkripsi dan browser-mu memeriksa sertifikat server untuk memastikan ia benar-benar seperti yang diakuinya.

Langkah 3: request dan response

Sekarang browser-mu mengirim HTTP request — sepotong teks singkat yang menyatakan apa yang diinginkannya. Server mengirim balik HTTP response: sebuah status code, beberapa header, dan biasanya sebuah body. Pelajaran berikutnya membedah keduanya secara detail.

Langkah 4: browser membangun halaman

  1. Parse HTML jadi pohon object — yaitu DOM.
  2. Temukan referensi ke CSS, JavaScript, gambar, dan font, lalu minta semuanya juga.
  3. Terapkan CSS untuk menentukan tampilan setiap elemen.
  4. Hitung posisi dan ukuran (layout), lalu gambar pikselnya (paint).
  5. Jalankan JavaScript, yang kemudian bisa mengubah semua hal di atas.

Satu kali membuka halaman jarang berarti satu request. Biasanya puluhan: HTML-nya, lalu setiap aset yang disebutnya, lalu apa pun yang diminta JavaScript setelahnya.

Tugas praktik

Buka DevTools browser, ke tab Network, lalu buka situs berita mana pun. Hitung jumlah request-nya. Urutkan berdasarkan ukuran, lalu berdasarkan waktu. Temukan satu yang paling lambat dan satu yang paling besar. Ini bahan mentah dari setiap diskusi performa yang akan kamu ikuti.

Hasil yang diharapkan

Biasanya 50–200 request untuk satu halaman.