使用HTML5的链接预取功能(link prefetching)给网站提速


Posted in HTML / CSS onDecember 13, 2012

HTML5的链接预取功能(link prefetching)是一个埋在沙里的宝石,至今还很少人知道它的价值。 你可能已经知道了那古老而又闻名的图片预加载功能,链接预取功能就是将此概念由图片扩展到了网页内容(不需要任何AJAX代码)。
它是这样工作的:在页面上添加一个像这样的链接:

复制代码
代码如下:

<link rel="next" href="page2.html">

这样,当你的机器空闲时,浏览器就会自动的在后台把page2.html下载下来。 当用户最终点击了page2.html的链接时,浏览器会从缓存里把这个页面取出来,所以这个页面的加载速度会出乎意料的快。
目前只有火狐浏览器支持这个功能。但是因为火狐目前是世界上拥有第二大用户群的浏览器,所以只要你在HTML页面了加上这样的一句代码,仍有相 当大的一部分访问者能体验到这十分明显的页面加载速度的提高。很酷吧!

你可以在许多情况下可以使用链接预取功能
* 当你有一篇篇幅很长的文章,或在线教程,或图册等,需要分成多页显示时。
* 在你的网站首页预加载那些用户最可能访问的下一页。(可能是一个商品网站上“重点推荐”商品页面,或博客网站上最近的一篇博客)
* 搜索查询页面预加载搜索出来的前几条。
对于静态的内容你还可以使用rel标记实现预取功能:

复制代码
代码如下:

<link rel="prefetch" href="/images/big.jpeg?ca541d">

这里还有其它一些有趣的事需要注意:
* 链接预取功能不久将会在Opera, Chrome 和 Safari 浏览器里实现,但对于Internet Explorer,你估计要等到2020年。
* 如果这种功能被广泛的使用,它会影响你的网站日志和访问统计。请考虑这样的情况,你的一个页面预存取了好几个页面,可用户实际上没有访问到这几个页面。 你的服务器(或统计工具)并不知道这两者之间的区别。
为了分清这个,Firefox会在HTTP头信息里发送X-moz: prefetch信息,但你需要在服务器端有什么东西能识别这种信息。
HTML / CSS 相关文章推荐
CSS3中文字镂空、透明值、阴影效果设置示例小结
Mar 07 HTML / CSS
HTML5时代CSS设置漂亮字体取代图片
Sep 04 HTML / CSS
非常震撼的纯CSS3人物行走动画
Feb 24 HTML / CSS
CSS3实现文本垂直排列的方法
Jul 10 HTML / CSS
10分钟入门CSS3 Animation
Dec 25 HTML / CSS
传统HTML页面实现模块化加载的方法
Oct 15 HTML / CSS
HTML5使用drawImage()方法绘制图像
Jun 23 HTML / CSS
HTML5有哪些新特征
Dec 01 HTML / CSS
HTML5中图片之间的缝隙完美解决方法
Jul 07 HTML / CSS
Html5页面二次分享的实现
Jul 30 HTML / CSS
详解HTML5布局和HTML5标签
Oct 26 HTML / CSS
css实现两栏布局,左侧固定宽,右侧自适应的多种方法
Aug 07 HTML / CSS
HTML5 实现一个访问本地文件的实例
Dec 13 #HTML / CSS
HTML4和HTML5之间除了相似以外的10个主要不同
Dec 13 #HTML / CSS
一张图片能隐含千言万语之隐藏你的程序代码
Dec 13 #HTML / CSS
HTML5 新旧语法标记对我们有什么好处
Dec 13 #HTML / CSS
HTML5自定义data-* data(obj)属性和jquery的data()方法的使用
Dec 13 #HTML / CSS
HTML5 Web存储方式的localStorage和sessionStorage进行数据本地存储案例应用
Dec 09 #HTML / CSS
HTML5 Web Database 数据库的SQL语句的使用方法
Dec 09 #HTML / CSS
You might like
生成sessionid和随机密码的例子
2006/10/09 PHP
php xml-rpc远程调用
2008/12/19 PHP
php+redis在实际项目中HTTP 500: Internal Server Error故障排除
2017/02/05 PHP
一个轻量级的javascript库 pj介绍
2010/12/19 Javascript
12款经典的白富美型—jquery图片轮播插件—前端开发必备
2013/01/08 Javascript
jQuery实现鼠标滑过遮罩并高亮显示效果
2013/07/16 Javascript
js替换字符串的所有示例代码
2013/07/23 Javascript
JS+CSS实现下拉列表框美化效果(3款)
2015/08/15 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
2017/07/12 jQuery
Vue-Cli中自定义过滤器的实现代码
2017/08/12 Javascript
一步步教会你微信小程序的登录鉴权
2018/04/09 Javascript
Vue props用法详解(小结)
2018/07/03 Javascript
Vue-cli3项目引入Typescript的实现方法
2019/10/18 Javascript
基于vue中的scoped坑点解说
2020/09/04 Javascript
Vue 的 v-model用法实例
2020/11/23 Vue.js
详解Vue2的diff算法
2021/01/06 Vue.js
python实现朴素贝叶斯分类器
2018/03/28 Python
Windows下将Python文件打包成.EXE可执行文件的方法
2018/08/03 Python
详解Python 多线程 Timer定时器/延迟执行、Event事件
2019/06/27 Python
Python3+Selenium+Chrome实现自动填写WPS表单
2020/02/12 Python
Python操作Excel把数据分给sheet
2020/05/20 Python
PyInstaller运行原理及常用操作详解
2020/06/13 Python
python交互模式基础知识点学习
2020/06/18 Python
python2和python3哪个使用率高
2020/06/23 Python
Python selenium实现断言3种方法解析
2020/09/08 Python
深入理解HTML的FormData对象
2016/05/17 HTML / CSS
普天C++笔试题
2016/03/20 面试题
历史专业个人求职信分享
2013/12/20 职场文书
质量月活动策划方案
2014/03/10 职场文书
新闻传媒系求职信范文
2014/04/19 职场文书
暑假安全教育广播稿
2014/09/10 职场文书
异地年检委托书范本
2014/09/24 职场文书
人民币使用说明书
2019/04/17 职场文书
火锅店的开业营销方案范本!
2019/07/05 职场文书
Python 数据可视化之Bokeh详解
2021/11/02 Python
Python借助with语句实现代码段只执行有限次
2022/03/23 Python