Mengenal DNS Prefetch dan Preconnect: Mempercepat Pemuatan Halaman Web

Kecepatan pemuatan halaman web sangat bergantung pada seberapa cepat browser dapat menemukan dan terhubung ke server tujuan. Sebelum gambar, skrip, atau gaya dimuat, browser harus menerjemahkan nama domain menjadi alamat IP melalui sistem DNS. Proses ini sering kali menambah latensi yang tidak disadari oleh pengguna. Di sinilah DNS prefetch dan preconnect berperan penting sebagai mekanisme proaktif untuk mempercepat pengalaman berselancar.

Kedua teknik ini memberikan petunjuk kepada browser tentang sumber daya eksternal yang akan segera dibutuhkan. Dengan menyiapkan jalur komunikasi lebih awal, waktu tunggu saat konten sebenarnya diminta dapat dipangkas secara signifikan. Memahami kapan dan bagaimana menggunakan keduanya merupakan keterampilan dasar bagi pengembang web maupun administrator infrastruktur digital.

Apa Itu DNS Prefetch?

DNS prefetch adalah instruksi yang memberi tahu browser untuk melakukan resolusi DNS terhadap domain tertentu di latar belakang, bahkan sebelum pengguna mengklik tautan atau halaman meminta sumber daya dari domain tersebut. Resolusi DNS mengubah nama domain yang mudah dibaca manusia menjadi alamat IP numerik yang digunakan komputer untuk berkomunikasi.

Tanpa petunjuk ini, browser baru akan memulai proses pencarian DNS ketika menemukan tautan atau tag yang merujuk ke domain asing. Bergantung pada jarak ke server DNS dan kondisi jaringan, proses ini bisa memakan waktu antara 20 hingga 120 milidetik. Meskipun terdengar singkat, penundaan ini akan terasa jika sebuah halaman memuat aset dari banyak domain pihak ketiga sekaligus.

Cara menerapkan DNS prefetch sangat sederhana, yaitu dengan menambahkan elemen <link> di bagian <head> dokumen HTML:

<link rel="dns-prefetch" href="//cdn.contoh.com">
<link rel="dns-prefetch" href="//api.layananpihakketiga.io">

Penggunaan protokol relatif (//) disarankan agar browser dapat menyesuaikan apakah koneksi akhir akan menggunakan HTTP atau HTTPS tanpa perlu mendefinisikannya secara kaku pada tahap petunjuk ini.

Mengapa Preconnect Lebih Komprehensif?

Jika DNS prefetch hanya menyelesaikan tahap penerjemahan nama domain, preconnect melangkah lebih jauh. Petunjuk rel="preconnect" menginstruksikan browser untuk tidak hanya melakukan resolusi DNS, tetapi juga membangun koneksi TCP dan menyelesaikan jabat tangan TLS (jika menggunakan HTTPS) ke server tujuan.

Proses pembentukan koneksi aman melibatkan beberapa perjalanan data bolak-balik antara klien dan server. Pada jaringan seluler dengan latensi tinggi, fase ini sering menjadi hambatan utama sebelum byte pertama dari sebuah aset dapat diunduh. Dengan melakukan preconnect, seluruh negosiasi jaringan diselesaikan lebih awal sehingga ketika sumber daya benar-benar diminta, browser tinggal mengunduh datanya saja.

Berikut adalah contoh sintaksis penggunaan preconnect:

<link rel="preconnect" href="https://cdn.contoh.com">

Perhatikan bahwa preconnect mengharuskan Anda menyertakan skema URL secara lengkap, seperti https://. Hal ini karena proses jabat tangan TLS memerlukan informasi protokol keamanan sejak awal. Jika skema tidak disertakan, browser mungkin mengabaikan petunjuk tersebut atau gagal membangun koneksi yang tepat.

Perbedaan Utama DNS Prefetch dan Preconnect

Memilih antara DNS prefetch dan preconnect bergantung pada tingkat kepastian Anda bahwa sumber daya dari domain tersebut akan benar-benar digunakan. Keduanya memiliki beban komputasi dan jaringan yang berbeda.

Mengenal DNS Prefetch dan Preconnect: Mempercepat Pemuatan Halaman Web — ilustrasi 1
  • Cakupan pekerjaan: DNS prefetch hanya melakukan kueri DNS. Preconnect melakukan kueri DNS, koneksi TCP, dan negosiasi TLS.
  • Konsumsi sumber daya: Preconnect membuka soket jaringan yang nyata. Jika sumber daya akhirnya tidak dimuat, soket tersebut akan menutup setelah beberapa detik dan membuang bandwidth serta memori server.
  • Tingkat kepastian: Gunakan DNS prefetch untuk domain yang kemungkinan besar akan diakses, seperti tautan navigasi. Gunakan preconnect hanya untuk domain yang pasti akan dimuat dalam waktu dekat, seperti penyedia font utama atau CDN inti.

Sebagai praktik terbaik, Anda dapat menggabungkan keduanya untuk menyediakan jaring pengaman bagi peramban lama yang belum mendukung preconnect:

<link rel="preconnect" href="https://font.penyedia.com">
<link rel="dns-prefetch" href="https://font.penyedia.com">

Pada browser modern, baris kedua akan diabaikan karena koneksi sudah terbentuk melalui baris pertama. Namun, pada browser versi lama, baris kedua memastikan setidaknya resolusi DNS tetap dilakukan.

Kapan Sebaiknya Teknik Ini Digunakan?

Penerapan yang sembarangan justru dapat menurunkan kinerja jaringan. Membuka terlalu banyak koneksi pratinjau akan membebani perangkat pengguna dan server tujuan. Berikut adalah beberapa skenario ideal untuk menggunakan petunjuk jaringan ini:

  1. Domain pihak ketiga yang kritis: Layanan analitik, CDN untuk kerangka kerja JavaScript, atau penyedia font web yang dimuat di setiap halaman sebaiknya menggunakan preconnect.
  2. Navigasi lintas domain: Jika halaman beranda memiliki tautan menonjol menuju subdomain atau portal terpisah, tambahkan DNS prefetch untuk domain tersebut agar transisi terasa instan.
  3. Aset media tertunda: Video atau gambar berkualitas tinggi yang baru dimuat saat pengguna menggulir layar dapat dipersiapkan koneksinya menggunakan preconnect berbasis interaksi.

Selain itu, hindari menerapkan petunjuk ini pada lusinan domain sekaligus. Browser umumnya membatasi jumlah koneksi paralel. Jika Anda memaksakan terlalu banyak preconnect, antrean jaringan justru akan saling menghambat dan memperlambat pemuatan aset utama.

Menghindari Kesalahan Umum dalam Implementasi

Kesalahan paling umum adalah menggunakan preconnect untuk domain yang asetnya baru akan dimuat beberapa detik kemudian. Koneksi yang telah dibangun akan dianggap tidak aktif dan ditutup oleh sistem operasi sebelum sempat digunakan, sehingga usaha awal menjadi sia-sia. Pastikan sumber daya target dimuat dalam rentang waktu kurang dari sepuluh detik setelah petunjuk diberikan.

Mengenal DNS Prefetch dan Preconnect: Mempercepat Pemuatan Halaman Web — ilustrasi 2

Kesalahan lain adalah mencampuradukkan format URL. Menghilangkan skema https:// pada tag preconnect akan membuat browser bingung mengenai jenis enkripsi yang harus disiapkan. Selalu periksa kembali atribut href pada elemen <link> Anda sebelum menerapkannya ke lingkungan produksi.

Untuk mengukur efektivitas implementasi, gunakan panel Network pada alat pengembang browser. Perhatikan kolom waktu yang menunjukkan fase DNS Lookup dan Initial Connection. Jika petunjuk berfungsi dengan baik, fase-fase tersebut seharusnya bernilai nol atau sangat minimal pada permintaan sumber daya aktual.

Kesimpulan

Mengoptimalkan rantai koneksi jaringan adalah langkah fundamental untuk menghadirkan situs web yang responsif. DNS prefetch menawarkan cara ringan untuk mempersiapkan terjemahan alamat, sementara preconnect memberikan solusi menyeluruh dengan membangun jalur komunikasi penuh sebelum data diminta. Kunci keberhasilannya terletak pada penerapan yang selektif. Gunakan petunjuk ini hanya untuk domain yang benar-benar penting dan pasti akan diakses, agar latensi berkurang tanpa mengorbankan efisiensi jaringan secara keseluruhan.

PENGALAMAN BARU Coba tampilan baru Penasaran dengan pengalaman membaca Nazuaf versi modern? Coba tampilan baru yang dirancang agar nyaman dibaca dari ponsel dan pc. Buka versi modern dan lanjutkan membaca artikel ini. Jelajahi tampilan baru Nazuaf versi modern · Ketuk kartu untuk mencoba

Bagikan artikel ini

Tinggalkan komentar

Server Load: 29% · CMH · ⚡ --ms