Kamu mengetik example.com di browser, tekan enter, dan sebuah halaman langsung muncul. Rasanya instan dan ya-udah-begitu-aja. Padahal di balik tindakan sesederhana itu, komputermu baru saja melakukan sesuatu yang sebenarnya tidak bisa dilewati: dia mencari sebuah nama dan menemukan sebuah angka. Server tidak tinggal di nama — mereka tinggal di alamat berupa angka. Seluruh tujuan domain dan DNS adalah supaya manusia bisa pakai nama yang gampang diingat, sementara mesin diam-diam mengurus angka-angkanya di belakang layar.
Kalau kamu pernah bingung kenapa website yang baru jadi “kok belum muncul-muncul,” atau apa maksudnya orang bilang “arahkan domainmu ke server,” bagian inilah yang bikin semuanya nyantol. Begitu kamu paham bagaimana sebuah nama berubah jadi alamat, sebagian besar cara web dirangkai berhenti terasa seperti sihir.
Domain itu sebenarnya apa
Nama domain adalah alamat ramah-manusia dari sesuatu di internet — example.com, wikipedia.org, acy-partner.com. Dia label yang bisa kamu baca, ucapkan, dan ingat. Itu seluruh tugasnya: menggantikan alamat yang jauh lebih susah diingat.
Alamat yang lebih susah itu namanya alamat IP — sebuah angka yang menandai mesin tertentu di jaringan, kira-kira seperti 93.184.216.34. Server saling menemukan lewat alamat IP, bukan lewat nama. Jadi example.com sebenarnya cuma nama panggilan ramah yang mengarah ke sebuah alamat IP. Domain itu namanya; IP itu tempat server-nya benar-benar berada.
Domain juga punya struktur, dan kalau soal hierarki dia dibaca dari kanan ke kiri:
www . example . com
│ │ │
subdomain nama top-level
(opsional) domain (TLD)
comadalah top-level domain (TLD) — bagian paling kanan. Yang lain yang kamu kenal:.org,.net,.io, lalu yang berbasis negara seperti.idatau.uk.exampleadalah bagian yang seseorang daftarkan. Bersama TLD-nya, dia membentuk domain yang bisa didaftarkan — hal yang benar-benar kamu beli dan kamu miliki untuk sementara.wwwadalah subdomain — awalan opsional yang bisa kamu buat sebanyak yang kamu mau (blog.example.com,shop.example.com,api.example.com), masing-masing bisa mengarah ke tempat berbeda.
Kamu tidak benar-benar memiliki domain selamanya — kamu mendaftarkannya untuk jangka waktu tertentu (biasanya per tahun) lewat sebuah registrar, dan dia tetap jadi milikmu selama kamu memperpanjangnya. Begitu masa daftarnya habis dan tidak diperpanjang, orang lain bisa menyambarnya.
Domain dan website itu bukan hal yang sama
Ini sering bikin pemula keliru. Domain itu cuma nama yang sudah kamu daftarkan. Website itu berkas-berkas yang dilayani oleh sebuah server. Domain tidak berisi situsmu — dia cuma mengarah ke server yang berisi situs itu. Itulah kenapa kamu bisa punya domain tanpa website di belakangnya, memindahkan domain yang sama ke server lain di kemudian hari, atau membuat domain mengarah ke satu server hari ini dan ke server yang benar-benar lain besok. Nama dan mesinnya adalah dua hal terpisah, yang dihubungkan oleh satu pengaturan yang kamu pegang sendiri.
DNS: buku alamat internet
Jadi nama itu ramah dan IP itu yang dipakai mesin. Pasti ada sesuatu yang menerjemahkan di antara keduanya. Sesuatu itu adalah DNS — Domain Name System.
Cara paling gampang membayangkan DNS adalah sebagai buku telepon raksasa yang tersebar (atau aplikasi kontak) untuk seluruh internet. Kamu tahu sebuah nama, kamu mencarinya, kamu dapat sebuah angka. Kamu bertanya “alamat untuk example.com apa?” dan DNS menjawab “93.184.216.34.” Komputermu lalu menyambung ke angka itu, dan obrolan yang memuat halaman sungguhannya pun bisa dimulai.
Yang bikin DNS cerdik adalah tidak ada satu komputer pun yang memegang seluruh buku telepon itu. Dia tersebar di jutaan server di seluruh dunia, tertata dalam hierarki yang rapi, supaya sistemnya tetap cepat dan tetap jalan walaupun sebagian dari dia mati. Pencarian yang mengubah nama jadi alamat itu disebut resolusi DNS.
Cara kerja pencarian DNS yang sebenarnya
Ayo telusuri apa yang terjadi saat pertama kali komputermu perlu menemukan example.com. Ini semacam lari estafet singkat antara empat jenis server, masing-masing mengarahkanmu sedikit lebih dekat ke jawaban.
KOMPUTER KAMU
│ "di mana example.com?"
▼
┌───────────────┐ 1. tanya ──► ROOT server
│ RESOLVER │ "siapa yang ngurus .com?" ◄── ".com ada di sana"
│ (recursive │
│ DNS server) │ 2. tanya ──► TLD server (.com)
│ │ "siapa ngurus example.com?" ◄── "tanya name server example"
│ │
│ │ 3. tanya ──► AUTHORITATIVE name server
│ │ "IP example.com apa?" ◄── "93.184.216.34"
└───────┬───────┘
│ 4. kembalikan IP-nya
▼
KOMPUTER KAMU ──► menyambung ke 93.184.216.34
Langkah demi langkah:
- Kamu bertanya ke resolver. Komputermu tidak berburu sendiri. Dia menyerahkan pertanyaannya ke sebuah recursive resolver — biasanya dijalankan oleh penyedia internetmu, atau resolver publik seperti
8.8.8.8atau1.1.1.1yang sudah terkenal. Tugas resolver adalah mengurus semua pekerjaan kasarnya lalu kembali membawa jawaban final. - Resolver bertanya ke root server. Ada sekumpulan kecil root server yang tetap, berada di puncak paling atas. Mereka tidak tahu
example.comsecara langsung, tapi mereka tahu siapa yang bertanggung jawab atas tiap TLD. Root bilang, “untuk apa pun yang berakhiran.com, tanya saja ke server.com.” - Resolver bertanya ke TLD server. Server TLD
.comjuga tidak tahu IP-nya, tapi dia tahu name server mana yang bertanggung jawab khusus untukexample.com. Dia menjawab, “tanya ke authoritative name server milikexample.com.” - Resolver bertanya ke authoritative name server. Inilah server yang memegang record sungguhan untuk
example.com— sumber kebenarannya. Akhirnya dia menjawab dengan alamat IP yang asli.
Resolver menyerahkan IP itu balik ke komputermu, dan baru sekaranglah browser-mu bisa membuka koneksi ke server dan meminta halamannya. Semua ini biasanya selesai dalam hitungan beberapa milidetik.
Kenapa kunjungan kedua terasa instan: caching
Melakukan seluruh estafet itu untuk tiap permintaan tentu lambat dan boros, jadi DNS sangat bergantung pada caching. Tiap jawaban datang dengan TTL (time to live) — jumlah detik dia boleh diingat. Komputermu, resolver-mu, bahkan browser-mu semuanya menyimpan hasil sampai TTL-nya habis. Jadi kunjungan pertama ke sebuah situs melakukan pencarian penuh; kunjungan berikutnya memakai ulang jawaban yang sudah disimpan dan langsung loncat ke tahap menyambung. Ini juga alasan kenapa perubahan DNS tidak langsung berlaku — jawaban lama yang sudah tersimpan masih nyangkut sampai TTL-nya habis.
Jenis-jenis record DNS yang bakal kamu temui
“Record sungguhan” yang duduk di sebuah authoritative name server datang dalam beberapa rupa. Tiap jenis record menjawab pertanyaan yang berbeda tentang domain. Kamu tidak harus hafal semuanya, tapi ini yang bakal terus-menerus kamu temui:
- Record
A— memetakan sebuah nama ke alamat IPv4 (seperti93.184.216.34). Inilah record klasik “domain ini tinggal di mana?”. - Record
AAAA— ide yang sama, tapi untuk alamat IPv6 yang lebih baru. (Dibaca “quad-A.”) - Record
CNAME— sebuah alias yang mengarahkan satu nama ke nama lain, bukan ke IP. Misalnya,www.example.combisa jadi CNAME yang mengarah keexample.com, supaya keduanya selalu tiba di tempat yang sama. Praktis saat sebuah alamat mungkin berubah — kamu cukup mengubah satu record, bukan banyak. - Record
MX— record mail exchange. Dia menyatakan server mana yang menangani email untuk domain itu. Ini terpisah dari website-mu: situsmu bisa tinggal di satu server sementara email-mu pergi ke server lain. - Record
TXT— teks bebas yang ditempelkan ke sebuah domain. Dipakai untuk keperluan verifikasi dan keamanan (membuktikan kamu pemilik domain, atau pengaturan yang membantu mencegah pemalsuan email). - Record
NS— record name server, yang menyatakan server otoritatif mana yang bertanggung jawab atas domain itu sejak awal.
example.com ikhtisar record
─────────────────────────────────────────────
A example.com → 93.184.216.34
AAAA example.com → 2606:2800:220:1:...
CNAME www.example.com → example.com
MX example.com → penangan-email (prioritas 10)
TXT example.com → "teks verifikasi / kebijakan"
NS example.com → ns1.host.com, ns2.host.com
Satu domain biasanya punya beberapa record sekaligus — record A supaya website-nya bisa ketemu, record MX supaya email jalan, satu-dua record TXT untuk verifikasi. Mereka hidup berdampingan dan masing-masing mengerjakan tugasnya sendiri.
“Mengarahkan domain ke server”
Frasa ini muncul begitu kamu hendak menaruh situs sungguhan ke internet, jadi ada baiknya kita pastikan maknanya. Saat seseorang bilang “arahkan domainmu ke server,” maksudnya: edit record DNS domain itu — biasanya record A — supaya namanya tiba di alamat IP server-mu.
Model pikirnya sederhana:
pengaturan registrar / DNS
┌──────────────────────────────┐
│ A example.com → 203.0.113.10 │ ◄── ini yang kamu set
└──────────────────────────────┘
│
▼
siapa pun yang mengetik example.com kini tiba di 203.0.113.10
Kamu beli server di suatu tempat dan dia punya IP. Kamu punya domain. Untuk menghubungkan keduanya, kamu masuk ke tempat DNS-mu diatur, lalu menyetel record A domain itu ke IP server tersebut. Sejak saat itu, pengunjung yang mengetik domainmu mendarat di server-mu. Kalau suatu saat kamu pindah ke server baru, kamu cukup mengubah satu angka, dan trafiknya ikut.
Domain baru butuh waktu — itu propagation, bukan bug
Pasang domain yang benar-benar baru atau ubah sebuah record, dan sering kali dia tidak langsung jalan saat itu juga. Ini wajar. Karena jawaban tersimpan di mana-mana di seluruh internet (ingat TTL), perubahannya harus merembet keluar seiring entri lama yang tersimpan kedaluwarsa. Orang menyebut ini propagation, dan dia bisa makan waktu dari hitungan menit sampai sehari-an, tergantung TTL yang disetel. Jadi kalau situs baru tidak menampilkan apa pun sesaat setelah kamu mengarahkan domain, jangan panik dan langsung mengutak-atik. Beri waktu, dan pastikan record-nya sudah disetel dengan benar. Menurunkan TTL sebelum perubahan yang direncanakan bikin pembaruan ke depannya menyebar lebih cepat.
Kenapa ini penting
Domain dan DNS duduk di bawah hampir semua hal yang bakal kamu lakukan begitu pekerjaanmu meninggalkan mesinmu sendiri. Begitu kamu ingin website sungguhan yang bisa orang capai lewat nama — bukan sekadar alamat IP mentah yang cuma kamu yang ingat — kamu sedang memakai sistem ini. Meng-hosting situs, menyiapkan email untuk sebuah domain, pindah ke server yang lebih besar, menaruh sebuah layanan di balik alamat yang lebih ramah: semuanya lewat DNS.
Sistem ini juga diam-diam ikut menentukan cara kamu mencari sumber masalah. “Situsnya mati” kadang sebenarnya berarti “domainnya tidak ter-resolve” — itu masalah DNS, bukan masalah server. Tahu beda antara nama yang gagal menemukan server dan server yang tidak menjawab bakal menghematmu berjam-jam mencari di tempat yang salah. Kalau kamu mau menyegarkan ingatan soal perjalanan minta-dan-jawab yang dimulai setelah IP-nya ketemu, penelusuran di cara kerja server menyambung persis dari titik tempat artikel ini berhenti.
Penutup
Ini seluruh idenya dalam satu tempat:
- Nama domain (
example.com) adalah label ramah-manusia yang mengarah ke alamat IP sungguhan sebuah server. Nama dan mesinnya adalah dua hal terpisah. - DNS (Domain Name System) adalah buku telepon internet yang tersebar — dia me-resolve nama jadi alamat.
- Pencariannya adalah estafet singkat: resolver-mu bertanya ke server root, lalu server TLD, lalu authoritative name server milik domain, yang mengembalikan IP yang asli.
- Caching dengan TTL bikin pencarian ulang jadi instan — dan itulah kenapa perubahan DNS tidak langsung berlaku.
- Record mengerjakan tugas tertentu:
A/AAAAuntuk alamat,CNAMEuntuk alias,MXuntuk email,TXTuntuk verifikasi,NSuntuk server otoritatif. - Mengarahkan domain ke server cuma berarti menyetel record
A-nya ke IP server-mu — dan perubahan baru menyebar lewat propagation, jadi beri waktu sebentar.
Dengan sebuah nama yang andal menemukan mesin yang tepat, pertanyaan berikutnya yang wajar adalah mesin itu sendiri datang dari mana — dan persis itulah yang dibahas oleh hosting: siapa yang menjalankan server tempat domainmu mengarah, serta berbagai cara kamu bisa mendapatkannya.