Catatan dari produksi
DNSNetworkingCloudflare

Apa yang terjadi saat Anda mengetik URL

Anda mengetik pangaea.id, menekan Enter, dan halaman langsung muncul dalam sekejap. Di balik sekejap itu ada estafet kecil yang berlangsung di seluruh dunia: sebuah nama diubah jadi alamat, permintaan Anda diarahkan ke pusat data terdekat dari ratusan yang ada, sebuah kunci terkunci, lalu halaman yang sudah dibangun berhari-hari sebelumnya dikirim balik. Mari kita bedah tiap tahapnya, dengan bahasa sederhana.

1https://pangaea.id2"di mana pangaea.id?"DNS → Cloudflare → satu IP edge?3edge Cloudflare terdekatkunci TLS + halaman sudah di-cache4AI, implemented.tergambar sekejap — dari file di dekat Anda
Sebuah nama → DNS menemukan edge Cloudflare terdekat → halaman terenkripsi yang sudah di-cache → browser menggambarnya.

1. Nama bukan alamat

pangaea.id itu nama, dibuat untuk manusia. Mesin-mesin yang memindahkan trafik butuh angka — sebuah alamat IP. Mengubah yang satu jadi yang lain adalah tugas DNS, buku telepon internet.

Browser Anda bertanya ke sebuah resolver (milik ISP Anda, atau semacam 1.1.1.1): "berapa alamat untuk pangaea.id?" Kalau tak ada satu pun di sekitar yang mengingatnya, resolver menelusuri rantainya — root, lalu direktori .id, lalu nameserver otoritatif yang benar-benar menyimpan jawabannya. Buat kami, otoritas itu Cloudflare — tempat kami mengarahkan domain, yang punya ceritanya sendiri. Cloudflare mengembalikan sebuah IP, dan resolver mengingatnya untuk lain kali.

2. Satu alamat, banyak kota

Nah, ini triknya: IP yang dikembalikan Cloudflare bukan milik satu mesin di satu tempat. Alamat yang sama diumumkan dari ratusan pusat data di seluruh dunia — teknik yang disebut anycast. Internet diam-diam mengarahkan permintaan Anda ke yang paling dekat. Orang di Jakarta dan orang di Berlin sama-sama mengetik pangaea.id, dan masing-masing mendarat di salinan yang cuma berjarak beberapa milidetik. Jarak adalah musuh kecepatan, dan anycast memangkas sebagian besarnya.

3. Sapaan singkat, lalu kunci

Browser Anda dan edge terdekat itu saling bersalaman dalam dua tahap:

  • TCP — "halo / halo balik / oke" singkat supaya kedua sisi sepakat bahwa mereka sudah terhubung.
  • TLS — keduanya bertukar kunci lalu beralih ke enkripsi. Itulah gembok di address bar. Sejak titik ini, tak ada pihak di tengah — Wi-Fi kafe, ISP Anda — yang bisa membaca atau mengutak-atik halaman.

Kedengarannya rumit, padahal cuma beberapa kali bolak-balik, dan koneksi yang satu itu dipakai ulang browser untuk semua kebutuhan halaman lainnya.

4. "Beri saya berandanya"

Sekarang permintaan yang sebenarnya: browser mengirim HTTP — secara harfiah GET /. Edge biasanya sudah punya jawabannya di cache, karena halaman kami dibangun lebih dulu jadi HTML polos lalu disalin ke tiap edge. Jadi ia menjawab dalam hitungan milidetik, tanpa perlu server "berpikir". (Hanya saat miss pertama yang jarang terjadi, edge mengambil halaman sekali dari origin — Cloudflare Pages — lalu men-cache-nya untuk semua orang sesudah Anda.)

5. Browser menggambar

HTML-nya kembali, dan browser membacanya dari atas ke bawah. Ternyata ia masih butuh sedikit CSS, sedikit JavaScript, dan font — jadi ketiganya ikut diminta, lagi-lagi dari edge terdekat (dan file-file itu di-fingerprint, jadi di-cache "selamanya"). Setelah itu ia menggambar: header, judul, lalu sisanya. Sekejap tadi pun selesai.

Kami memilih ini dengan sengaja

Tak ada yang kebetulan di sini — ini setup yang memang kami pilih: domain menunjuk ke edge Cloudflare, dan situsnya berupa file statis di Cloudflare Pages. Bagaimana dan kenapanya kami tulis di catatan build kami: Arahkan domain ke Cloudflare → dan Rilis: Git → CI/CD → Pages →.

Sources

  1. Cloudflare — Apa itu DNS?
  2. Cloudflare — Apa itu jaringan Anycast?
  3. MDN — Apa itu URL?