1. 程式人生 > 實用技巧 >DNS預解析dns-prefetch是什麼及怎麼使用

DNS預解析dns-prefetch是什麼及怎麼使用

#誕生背景
DNS請求雖然佔用了很少的頻寬,但會有很高的延遲,尤其以行動網路會更加明顯。通過dns預解析技術可以很好的降低延遲

在firefox上使用dns-prefetch,dns預解析是與頁面載入是並行處理的,且不用影響到頁面載入的效能.

在以圖片為主移動網站被訪問時,在使用DNS預解析的情意中下,頁面載入時間可以提升%5個點


一、什麼是dns-prefetch?


DNS Prefetch 是一種 DNS 預解析技術。當你瀏覽網頁時,瀏覽器會在載入網頁時對網頁中的域名進行解析快取,這樣在你單擊當前網頁中的連線時就無需進行 DNS 的解析,減少使用者等待時間,提高使用者體驗。
目前每次DNS解析,通常在200ms以下。針對DNS解析耗時問題,一些瀏覽器通過DNS Prefetch 來提高訪問的流暢性。


二、如何設定dns-prefetch?

DNS Prefetch 應該儘量的放在網頁的前面,推薦放在<meta charset="UTF-8">後面。具體使用方法如下:

<meta http-equiv="x-dns-prefetch-control" content="on">

<link rel="dns-prefetch" href="//www.zhix.net">

<link rel="dns-prefetch" href="//api.share.zhix.net">

<link rel="dns-prefetch" href
="//bdimg.share.zhix.net">
<link rel="dns-prefetch" href="http://renpengpeng.com" />
<!--如果不確定是http還是https連線的話建議如下寫法 -->
<link rel="dns-prefetch" href="//renpengpeng.com" />

三、DNS Prefetching預解析實現原理與注意事項

1.<meta>資訊告訴瀏覽器,當前頁面要做DNS預解析;

<meta http-equiv="x-dns-prefetch-control"
content="on" />

2.使用<link>標籤來強制對DNS預解析;

<link rel="dns-prefetch" href="http://bdimg.share.baidu.com" />

3.dns-prefetch需慎用,多頁面重複DNS預解析會增加重複DNS查詢次數;

4.瀏覽器對網站的首次域名DNS解析查詢流程:瀏覽器快取 -> 系統快取 -> 路由器快取 -> ISP -> DNS快取 -> 遞迴搜尋

5.如果要禁止隱式的DNS Prefetch,可以使用以下標籤

<meta http-equiv="x-dns-prefetch-control" content="off">

詳細請參考:https://www.cnblogs.com/goloving/p/9368965.html

https://blog.csdn.net/qq_35432904/article/details/83988726