Html 5的鏈接預取功能(link prefetching)是一個埋在沙裡的寶石,至今還很少人知道它的價值。你可能已經知道了那古老而又聞名的圖片預加載功能,鏈接預取功能就是將此概念由圖片擴展到了網頁內容(不需要任何AJax代碼)。
51CTO推薦專題: Html 5 下一代web開發標准詳解
它是這樣工作的,在頁面上添加一個像這樣的鏈接:
- <link rel="next" href="page2.Html">
這樣,當你的機器空閒時,浏覽器就會自動的在後台把page2.html下載下來。 當用戶最終點擊了page2.Html的鏈接時,浏覽器會從緩存裡把這個頁面取出來,所以這個頁面的加載速度會出乎意料的快。
目前只有火狐浏覽器支持這個功能。但是因為火狐目前是世界上擁有第二大用戶群的浏覽器,所以只要你在Html頁面了加上這樣的一句代碼,仍有相當大的一部分訪問者能體驗到這十分明顯的頁面加載速度的提高。你可以在許多情況下可以使用鏈接預取功能:
◆當你有一篇篇幅很長的文章,或在線教程,或圖冊等,需要分成多頁顯示時。
◆在你的網站首頁預加載那些用戶最可能訪問的下一頁。(可能是一個商品網站上“重點推薦”商品頁面,或博客網站上最近的一篇博客)
◆搜索查詢頁面預加載搜索出來的前幾條。
對於靜態的內容你還可以使用rel標記實現預取功能:
- <link rel="prefetch" href="/images/big.jpeg">
這裡還有其它一些有趣的事需要注意:
◆鏈接預取功能不久將會在Opera, Chrome 和 Safari 浏覽器裡實現,但對於Internet Explorer,你估計要等到2020年。
◆如果這種功能被廣泛的使用,它會影響你的網站日志和訪問統計。請考慮這樣的情況,你的一個頁面預存取了好幾個頁面,可用戶實際上沒有訪問到這幾個頁面。 你的服務器(或統計工具)並不知道這兩者之間的區別。
為了分清這個,Firefox會在HTTP頭信息裡發送X-moz: prefetch信息,但你需要在服務器端有什麼東西能識別這種信息。
文章轉自外刊IT評論,原文標題:使用Html 5的鏈接預取功能給網站提速
原文地址:http://www.aqee.Net/2010/06/08/how-Html-5-link-prefetching-can-make-your-site-load-faster-with-one-line-of-code/