Apa Itu DNS?
Kenalan dengan DNS, sistem yang mempermudah kita untuk akses sebuah website di internet.
Pernah nggak sih kita bertanya-tanya, bagaimana caranya browser bisa langsung menampilkan sebuah website? contoh jika kita mengetik "paulmahardika.dev", bagaimana bisa browser mengarahkan kita di website ini?
Coba pikirkan sebentar. Kita tidak pernah memberi tahu browser di mana website itu berada. Kita cuma mengetik sebaris nama di browser, tekan Enter, dan halamannya muncul. Kita semua tahu bahwa di internet ada ratusan juta website, dan salah satunya bisa saja palsu dengan nama yang mirip.
Jadi, bagaimana browser tahu harus pergi ke mana? Jawabannya adalah DNS.
Apa Itu DNS?
Bayangkan kita mau menelepon seseorang bernama Hendra, tapi yang kita ingat cuma namanya bukan nomor telepon-nya. Kita buka kontak, ketik "Hendra", dan nomornya muncul. Internet bekerja dengan cara yang sama.
Dikutip dari dokumentasi AWS: https://aws.amazon.com/route53/what-is-dns/
DNS (Domain Name System) menerjemahkan nama domain yang mudah dibaca manusia (misalnya www.amazon.com) menjadi alamat IP yang dibaca mesin (misalnya 192.0.2.44).
Komputer tidak mengenal nama sebuah website. Setiap perangkat dan server di internet punya alamat berupa deretan angka, disebut IP address. Coba bayangkan kalau kita harus hafal angka itu untuk setiap website, pasti membingungkan.
Jadi kita cukup ingat nama, dan DNS yang ingat "nomornya".
Cara Kerja DNS
Oke, bayangkan kita mengetik "paulmahardika.dev" di browser lalu tekan Enter. Ini yang terjadi di balik layar, dalam hitungan milidetik.
Pertama, browser bertanya ke resolver, semacam perantara penerjemah yang biasanya disediakan oleh penyedia internet kita. Seperti proses mencari nomor di kontak di telepon kita tadi: kita ketik nama, dan telepon akan menampilkan nomor telepon-nya.
Resolver lalu mengecek ingatannya dulu. Kalau jawabannya sudah ada, langsung diberikan. Kalau belum, barulah ia bertanya ke root server dulu (yang menunjukkan siapa yang mengurus domain berakhiran .dev), lalu ke TLD server (Top-Level Domain), dan terakhir ke authoritative server, yaitu pemegang catatan resmi milik paulmahardika.dev. Di sinilah alamat IP yang asli disimpan.
Setelah alamat IP didapat, jawabannya dikirim balik ke browser. Barulah browser menghubungi server paulmahardika.dev dan halamannya tampil.
Kalau diurutkan:
- Browser bertanya ke resolver: "Alamat paulmahardika.dev di mana?"
- Resolver mengecek cache. Kalau belum ada, ia bertanya ke root - TLD - lalu authoritative server.
- Alamat IP dikirim balik ke browser.
- Browser menghubungi server dan halaman website tampil.
Kenapa Website yang Sama Terasa Lebih Cepat Dibuka Lagi?
Biasanya, ketika kita sudah sering menelpon seseorang, nomor tersebut akan sering muncul di bagian paling atas. Sehingga, kita tidak perlu mencari lagi nama atau nomor tersebut dalam list kontak kita.
Begitu juga ketika kita membuka website yang sudah sering kita kunjungi, terasa lebih cepat bukan? Nah, Salah satu penyebabnya adalah cache. hasil pencarian DNS disimpan sementara di perangkat kita atau di resolver.
Tapi nomor seseorang bisa berubah bukan? Maka dari itu setiap hasil DNS punya TTL (time to live), batas waktu sebuah hasil dianggap masih berlaku. Begitu TTL habis, resolver bertanya ulang untuk memastikan alamatnya belum berubah.
Contoh Nyata
Saat kita mengetik paulmahardika.dev lalu tekan Enter, ada jeda singkat sebelum halaman terbuka. Di jeda itu, DNS sedang bekerja menerjemahkan nama jadi alamat IP. Beberapa menit kemudian kita buka lagi situs yang sama, dan biasanya terasa lebih cepat karena hasilnya sudah ada di cache.
Yang Perlu Kita Ingat
- DNS adalah buku telepon internet yang mengubah nama website jadi alamat IP.
- Komputer hanya paham angka, sementara kita lebih mudah mengingat nama.
- Pencarian DNS melewati resolver, lalu (kalau perlu) root, TLD, dan authoritative server.
- Hasil pencarian disimpan di cache dan berlaku selama TTL, jadi akses berikutnya lebih cepat.