dns-prefetch是什么 前端優(yōu)化:DNS預(yù)解析提升頁面速度
什么是 DNS Prefetch
DNS 實現(xiàn)域名到IP的映射。通過域名訪問站點,每次請求都要做DNS解析。目前每次DNS解析,通常在200ms以下。針對DNS解析耗時問題,一些瀏覽器通過DNS Prefetch 來提高訪問的流暢性。
DNS Prefetch 是一種DNS 預(yù)解析技術(shù),當(dāng)瀏覽網(wǎng)頁時,瀏覽器會在加載網(wǎng)頁時對網(wǎng)頁中的域名進(jìn)行解析緩存,這樣在單擊當(dāng)前網(wǎng)頁中的連接時就無需進(jìn)行DNS的解析,減少用戶等待時間,提高用戶體驗。
目前支持 DNS Prefetch 的瀏覽器有 google chrome 和 firefox 3.5
如果要瀏覽器端對特定的域名進(jìn)行解析,可以再頁面中添加link標(biāo)簽實現(xiàn)。例如:
<link rel="dns-prefetch" href="http://img.jb51.net" />
如果要控制瀏覽器端是否對域名進(jìn)行預(yù)解析,可以通過Http header 的x-dns-prefetch-control 屬性進(jìn)行控制。
可惜目前支持上面標(biāo)簽的只有 google chrome 和 firefox3.5
一般來說這種延時的原因不會是對方網(wǎng)站帶寬或者負(fù)載的原因,那么到底是什么導(dǎo)致了這種情況呢。湛藍(lán)試著進(jìn)行推測,假設(shè)是DNS的問題,因為DNS解析速度很可能是造成資源延時的最大原因。于是湛藍(lán)在頁面header中添加了以下代碼(用以DNS預(yù)解析):
<meta http-equiv="x-dns-prefetch-control" content="on" />
<link rel="dns-prefetch" href="http://bdimg.share.baidu.com" />
<link rel="dns-prefetch" href="http://nsclick.baidu.com" />
<link rel="dns-prefetch" href="http://#" />
<link rel="dns-prefetch" href="http://eiv.baidu.com" />
<link rel="dns-prefetch" href="http://img.jb51.net" />
效果很不錯(測試瀏覽器為IE8),再打開其他頁面時百度分享按鈕的加載明顯提高!
下面我們來簡單了解一下dns-prefetch:
DNS 作為互聯(lián)網(wǎng)的基礎(chǔ)協(xié)議,其解析的速度似乎容易被網(wǎng)站優(yōu)化人員忽視?,F(xiàn)在大多數(shù)新瀏覽器已經(jīng)針對DNS解析進(jìn)行了優(yōu)化,典型的一次DNS解析耗費20-120 毫秒,減少DNS解析時間和次數(shù)是個很好的優(yōu)化方式。DNS Prefetching是具有此屬性的域名不需要用戶點擊鏈接就在后臺解析,而域名解析和內(nèi)容載入是串行的網(wǎng)絡(luò)操作,所以這個方式能減少用戶的等待時間,提升用戶體驗。
瀏覽器對網(wǎng)站第一次的域名DNS解析查找流程依次為:
瀏覽器緩存-系統(tǒng)緩存-路由器緩存-ISP DNS緩存-遞歸搜索
域名DNS解析查找流程
Chrome內(nèi)置了DNS Prefetching技術(shù), Firefox 3.5 也引入了這一特性,由于Chrome和Firefox 3.5本身對DNS預(yù)解析做了相應(yīng)優(yōu)化設(shè)置,所以設(shè)置DNS預(yù)解析的不良影響之一就是可能會降低Google Chrome瀏覽器及火狐Firefox 3.5瀏覽器的用戶體驗。
預(yù)解析的實現(xiàn):
1. 用meta信息來告知瀏覽器, 當(dāng)前頁面要做DNS預(yù)解析:<meta http-equiv="x-dns-prefetch-control" content="on" />
2. 在頁面header中使用link標(biāo)簽來強(qiáng)制對DNS預(yù)解析: <link rel="dns-prefetch" href="http://bdimg.share.baidu.com" />
注:dns-prefetch需慎用,多頁面重復(fù)DNS預(yù)解析會增加重復(fù)DNS查詢次數(shù)。
PS:DNS預(yù)解析主要是用于網(wǎng)站前端頁面優(yōu)化,在SEO中的作用湛藍(lán)還未作驗證,但作為增強(qiáng)用戶體驗的一部分rel="dns-prefetch"或許值得大家慢慢發(fā)現(xiàn)。
欄 目:CSS/HTML
本文標(biāo)題:dns-prefetch是什么 前端優(yōu)化:DNS預(yù)解析提升頁面速度
本文地址:http://mengdiqiu.com.cn/a1/CSS_HTML/9651.html
您可能感興趣的文章


閱讀排行
本欄相關(guān)
- 04-02表格樣式css樣式,css樣式表單
- 04-02好看的字體樣式css,好看的字體樣式圖
- 04-02分頁樣式css,分頁樣式j(luò)q
- 04-02分頁樣式css,分頁樣式欄里用來定義首
- 04-02css樣式的引入,css樣式怎么引入
- 04-02css滾動條樣式,css滾動條的樣式
- 04-02css樣式引入方式有幾種,網(wǎng)頁引入css樣
- 04-02html中加入css樣式的簡單介紹
- 04-02vue中的css樣式布局,vue添加css樣式
- 04-02內(nèi)嵌樣式css,內(nèi)嵌樣式表,內(nèi)部樣式表
隨機(jī)閱讀
- 01-10C++ 類訪問控制的條件總結(jié)
- 01-10vue實現(xiàn)分頁加載效果
- 01-10C語言打印楊輝三角示例匯總
- 08-05dedecms織夢模板全站調(diào)用收藏數(shù)的方法
- 01-10bat批處理徹底隱藏文件的方法(使用
- 01-11常用的HTML富文本編譯器UEditor、CKEdi
- 01-10C++實現(xiàn)將數(shù)組中的值反轉(zhuǎn)
- 08-05dedecms織夢模板編輯文檔的同時自動更
- 08-05DEDECMS點擊主欄目默認(rèn)顯示第一個子欄
- 08-05織夢dedecms首頁調(diào)用縮略圖為背景