為網(wǎng)站提速 探秘HTML 5鏈接預(yù)取功能
HTML 5的鏈接預(yù)取功能(link prefetching)是一個(gè)埋在沙里的寶石,至今還很少人知道它的價(jià)值。你可能已經(jīng)知道了那古老而又聞名的圖片預(yù)加載功能,鏈接預(yù)取功能就是將此概念由圖片擴(kuò)展到了網(wǎng)頁內(nèi)容(不需要任何AJAX代碼)。
51CTO推薦專題: HTML 5 下一代Web開發(fā)標(biāo)準(zhǔn)詳解
它是這樣工作的,在頁面上添加一個(gè)像這樣的鏈接:
- <link rel="next" href="page2.html">
這樣,當(dāng)你的機(jī)器空閑時(shí),瀏覽器就會(huì)自動(dòng)的在后臺(tái)把page2.html下載下來。 當(dāng)用戶最終點(diǎn)擊了page2.html的鏈接時(shí),瀏覽器會(huì)從緩存里把這個(gè)頁面取出來,所以這個(gè)頁面的加載速度會(huì)出乎意料的快。
目前只有火狐瀏覽器支持這個(gè)功能。但是因?yàn)榛鸷壳笆鞘澜缟蠐碛械诙笥脩羧旱臑g覽器,所以只要你在HTML頁面了加上這樣的一句代碼,仍有相當(dāng)大的一部分訪問者能體驗(yàn)到這十分明顯的頁面加載速度的提高。你可以在許多情況下可以使用鏈接預(yù)取功能:
◆當(dāng)你有一篇篇幅很長的文章,或在線教程,或圖冊(cè)等,需要分成多頁顯示時(shí)。
◆在你的網(wǎng)站首頁預(yù)加載那些用戶最可能訪問的下一頁。(可能是一個(gè)商品網(wǎng)站上“重點(diǎn)推薦”商品頁面,或博客網(wǎng)站上最近的一篇博客)
◆搜索查詢頁面預(yù)加載搜索出來的前幾條。
對(duì)于靜態(tài)的內(nèi)容你還可以使用rel標(biāo)記實(shí)現(xiàn)預(yù)取功能:
- <link rel="prefetch" href="/images/big.jpeg">
這里還有其它一些有趣的事需要注意:
◆鏈接預(yù)取功能不久將會(huì)在Opera, Chrome 和 Safari 瀏覽器里實(shí)現(xiàn),但對(duì)于Internet Explorer,你估計(jì)要等到2020年。
◆如果這種功能被廣泛的使用,它會(huì)影響你的網(wǎng)站日志和訪問統(tǒng)計(jì)。請(qǐng)考慮這樣的情況,你的一個(gè)頁面預(yù)存取了好幾個(gè)頁面,可用戶實(shí)際上沒有訪問到這幾個(gè)頁面。 你的服務(wù)器(或統(tǒng)計(jì)工具)并不知道這兩者之間的區(qū)別。
為了分清這個(gè),F(xiàn)irefox會(huì)在HTTP頭信息里發(fā)送X-moz: prefetch信息,但你需要在服務(wù)器端有什么東西能識(shí)別這種信息。
文章轉(zhuǎn)自外刊IT評(píng)論,原文標(biāo)題:使用HTML 5的鏈接預(yù)取功能給網(wǎng)站提速
原文地址:http://www.aqee.net/2010/06/08/how-html-5-link-prefetching-can-make-your-site-load-faster-with-one-line-of-code/
【編輯推薦】