|
網(wǎng)站優(yōu)化技術(shù)總是在進(jìn)化。今天重新閱讀了一下以前的前端優(yōu)化筆記,發(fā)現(xiàn)對(duì)于 YSlow 優(yōu)化 34 條準(zhǔn)則關(guān)于減少 DNS 查找 (Reduce DNS Lookups)的部分或許應(yīng)該修正一下了。
DNS 作為互聯(lián)網(wǎng)的基礎(chǔ)協(xié)議,其解析的速度似乎容易被網(wǎng)站優(yōu)化人員忽視,F(xiàn)在瀏覽器廠商已經(jīng)有在針對(duì) DNS 進(jìn)行優(yōu)化,典型的一次 DNS 解析耗費(fèi) 20-120 毫秒,減少 DNS 解析數(shù)是個(gè)優(yōu)化的方式,而能夠縮減 DNS 解析的時(shí)間也是有經(jīng)濟(jì)效益的事情。這就是瀏覽器廠商重視 DNS Prefetching 的主要原因。DNS Prefetching 對(duì)于性能的收益可以簡(jiǎn)單的用"DNS 同步請(qǐng)求到異步"來解釋,也就是具有此屬性的域名不需要用戶點(diǎn)擊鏈接就在后臺(tái)解析,而域名解析和內(nèi)容載入是串行的網(wǎng)絡(luò)操作,所以這個(gè)方式能減少用戶的等待時(shí)間,提升用戶體驗(yàn)。
Google Chrome 內(nèi)置就有 DNS Prefetching 技術(shù)(注意之前有幾個(gè)小版本因?yàn)檫@一特性反而帶來了性能問題) ,而 Firefox 3.5 也引入了這一 新特性。至于 IE 8,暫時(shí)還看不到有什么舉措(或許是我沒注意到?)。
對(duì)于一個(gè)網(wǎng)站來說,如果希望能充分利用用戶瀏覽器端的這個(gè)功能,可以在頁(yè)面添加 link 屬性的錨點(diǎn)來做到。類似:
。糽ink rel="dns-prefetch" >
另外還有這個(gè) x-dns-prefetch-control 也有必要適當(dāng)用一下。對(duì)于某些站點(diǎn)引用了 Google 的某些服務(wù)腳本,可能這尤其有用。
另外一種加速 DNS 的途徑是考慮使用 pdnsd 之類的緩存 DNS 代理服務(wù)器來加速某些 DNS 請(qǐng)求。
在 Chrome 中,可以通過在地址欄輸入 about:histograms/DNS 來觀測(cè)一些有趣的 DNS 性能數(shù)據(jù)。 |
【收藏】【打印】【進(jìn)入論壇】 |
|
|
|
|
|
|
|