Dalam pengalaman web, kami sering menemukan situasi ini, yaitu, ketika memanggil Baidu Alliance, Google Alliance dan file nama domain di luar nama domain di mana halaman web saat ini berada, kami akan menghadapi penundaan permintaan yang sangat serius. Jadi apakah ada cara untuk menyelesaikan fenomena penundaan permintaan yang parah ini? Apa itu prefetch dns
DNS mengimplementasikan pemetaan nama-ke-IP domain. Mengakses situs melalui nama domain memerlukan resolusi DNS untuk setiap permintaan. Saat ini, setiap resolusi DNS biasanya di bawah 200 ms. Menanggapi masalah yang memakan waktu dari resolusi DNS, beberapa browser menggunakan prefetch DNS untuk meningkatkan kelancaran akses.
DNS Prefetch adalah teknologi pra-resolusi DNS. Saat menjelajahi halaman web, browser akan menyelesaikan dan menyimpan nama domain di halaman web saat memuat halaman web. Dengan cara ini, saat mengklik koneksi di halaman web saat ini, tidak perlu menyelesaikan DNS, mengurangi waktu tunggu pengguna dan meningkatkan pengalaman pengguna.
Saat ini, browser yang mendukung prefetch DNS termasuk Google Chrome dan Firefox 3.5
Jika Anda ingin menguraikan nama domain tertentu di sisi browser, Anda dapat menambahkan tag tautan ke halaman untuk mengimplementasikannya. Misalnya:
<tautan rel = dns-prefetch href = http: //img.vevb.com/>
Jika Anda ingin mengontrol apakah sisi browser pra-penyelesaian nama domain, Anda dapat mengontrolnya melalui atribut X-DNS-Prefetch-Control dari header HTTP.
Sayangnya, hanya Google Chrome dan Firefox3.5 Mendukung tag di atas
Secara umum, alasan penundaan ini bukanlah bandwidth atau muatan situs web pihak lain, jadi apa yang sebenarnya menyebabkan situasi ini. Zalan mencoba berspekulasi, dengan asumsi itu masalah dengan DNS, karena kecepatan resolusi DNS cenderung menjadi penyebab terbesar keterlambatan sumber daya. Jadi Zaolan menambahkan kode berikut ke header halaman (digunakan sebagai pra-parser DNS):
<meta http-equiv = x-dns-prefetch-control konten = on />
<tautan rel = dns-prefetch href = http: //bdimg.share.baidu.com/>
<tautan rel = dns-prefetch href = http: //nsclick.baidu.com/>
<tautan rel = dns-prefetch href = http: //hm.baidu.com/>
<tautan rel = dns-prefetch href = http: //eiv.baidu.com/>
<tautan rel = dns-prefetch href = http: //img.vevb.com/>
Efeknya sangat bagus (browser uji adalah IE8), dan pemuatan tombol saham Baidu secara signifikan ditingkatkan ketika membuka halaman lain!
Mari kita pelajari secara singkat tentang dns-prefetch:
Sebagai protokol dasar Internet, DNS tampaknya mudah diabaikan oleh personel optimisasi situs web. Sekarang sebagian besar browser baru telah dioptimalkan untuk resolusi DNS. Resolusi DNS yang khas memakan waktu 20-120 milidetik. Mengurangi waktu dan angka resolusi DNS adalah cara yang baik untuk mengoptimalkan. DNS Prefetching adalah nama domain dengan atribut ini yang tidak mengharuskan pengguna untuk mengklik tautan untuk menyelesaikan di latar belakang. Resolusi nama domain dan pemuatan konten adalah operasi jaringan serial, sehingga metode ini dapat mengurangi waktu tunggu pengguna dan meningkatkan pengalaman pengguna.
NAMA DOMAIN ARTION RROWSER Resolusi DNS dan proses pencarian untuk situs web adalah:
Browser Cache-System Cache-Router Cache-ISP DNS Cache-Recursive Search
Nama Domain Proses Pencarian Resolusi DNS
Chrome memiliki teknologi prefetching DNS bawaan, dan Firefox 3.5 juga memperkenalkan fitur ini. Karena Chrome dan Firefox 3.5 sendiri telah mengoptimalkan pra-resolusi DNS yang sesuai, salah satu efek samping dari pengaturan pra-resolusi DNS adalah bahwa hal itu dapat mengurangi pengalaman pengguna browser Google Chrome dan browser Firefox Firefox 3.5.
Implementasi Persiapan:
1. Gunakan informasi meta untuk menginformasikan browser bahwa halaman saat ini harus diarahkan oleh DNS: <meta http-equiv = x-dns-prefetch-control konten = on />
2. Gunakan tag tautan di header halaman untuk memaksa DNS pra-parse: <tautan rel = dns-prefetch href = http: //bdimg.share.baidu.com/>
Catatan: DNS-Prefetch perlu digunakan dengan hati-hati. Mengulangi DNS pra-penyelesaian pada beberapa halaman akan meningkatkan jumlah kueri DNS yang diulang.
PS: Pra-resolusi DNS terutama digunakan untuk optimasi halaman front-end situs web. Perannya dalam SEO belum diverifikasi, tetapi sebagai bagian dari meningkatkan pengalaman pengguna Rel = DNS-Prefetch mungkin layak untuk ditemukan.