使用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截图_动力节点Java学院整理
Jul 11 HTML / CSS
CSS3教程(4):网页边框和网页文字阴影
Apr 02 HTML / CSS
CSS3教程:新增加的结构伪类
Apr 02 HTML / CSS
CSS3制作文字半透明倒影效果的两种实现方式
Aug 08 HTML / CSS
Css3实现无缝滚动防抖
Sep 14 HTML / CSS
利用HTML5实现使用按钮控制背景音乐开关
Sep 21 HTML / CSS
多视角3D可旋转的HTML5 Logo动画
Mar 02 HTML / CSS
详解HTML5 Canvas绘制时指定颜色与透明度的方法
Mar 25 HTML / CSS
微信小程序“圣诞帽”的实现思路详解
Dec 28 HTML / CSS
做一个能自适应高度的textarea的示例代码
Sep 06 HTML / CSS
AmazeUI 列表的实现示例
Aug 17 HTML / CSS
css弧边选项卡的项目实践
May 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
xajax写的留言本
2006/11/25 PHP
php切割页面div内容的实现代码分享
2012/07/31 PHP
windows7下安装php的imagick和imagemagick扩展教程
2014/07/04 PHP
smarty模板引擎中变量及变量修饰器用法实例
2015/01/22 PHP
解决微信授权回调页面域名只能设置一个的问题
2016/12/11 PHP
PHP 7.4 新语法之箭头函数实例详解
2019/05/09 PHP
网页开发中的容易忽略的问题 javascript HTML中的table
2009/04/15 Javascript
基于jquery 的一个progressbar widge
2010/10/29 Javascript
深入分析js中的constructor和prototype
2012/04/07 Javascript
点击弹出层外区域关闭弹出层jquery特效示例
2013/08/25 Javascript
Javascript模拟加速运动与减速运动代码分享
2014/12/11 Javascript
原生Js实现简易烟花爆炸效果的方法
2015/03/20 Javascript
Javascript中数组方法汇总(推荐)
2015/04/01 Javascript
javascript生成不重复的随机数
2015/07/17 Javascript
javascript每日必学之条件分支
2016/02/17 Javascript
js不间断滚动的简单实现
2016/06/03 Javascript
最全面的百度地图JavaScript离线版开发
2016/09/10 Javascript
nodejs中密码加密处理操作详解
2018/03/20 NodeJs
[38:21]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS Newbee
2018/03/31 DOTA
Python+PIL实现支付宝AR红包
2018/02/09 Python
python 自定义异常和异常捕捉的方法
2018/10/18 Python
python实现从wind导入数据
2019/12/03 Python
如何利用python生成MD5并去重
2020/12/07 Python
python如何用matplotlib创建三维图表
2021/01/26 Python
python的scipy.stats模块中正态分布常用函数总结
2021/02/19 Python
Currentbody澳大利亚:美容仪专家
2019/11/11 全球购物
倡议书格式范文
2014/04/14 职场文书
专科生就业求职信
2014/06/22 职场文书
九一八事变演讲稿
2014/09/05 职场文书
学校党委干部个人对照检查材料思想汇报
2014/10/09 职场文书
工作证明英文模板
2014/10/21 职场文书
2016孝老爱亲模范事迹材料
2016/02/26 职场文书
2016年小学端午节活动总结
2016/04/01 职场文书
【超详细】八大排序算法的各项比较以及各自特点
2021/03/31 Python
解决MySQL Varchar 类型尾部空格的问题
2022/04/06 MySQL
Python使用Web框架Flask开发项目
2022/06/01 Python