使用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 相关文章推荐
HTML5离线缓存Manifest是什么
Mar 09 HTML / CSS
如何使用localstorage代替cookie实现跨域共享数据问题
Apr 18 HTML / CSS
IE9下html5初试小刀
Sep 21 HTML / CSS
HTML5 创建canvas元素示例代码
Jun 04 HTML / CSS
HTML5中原生的右键菜单创建方法
Jun 28 HTML / CSS
详解HTML5中的拖放事件(Drag 和 drop)
Nov 14 HTML / CSS
详解html5 postMessage解决跨域通信的问题
Aug 17 HTML / CSS
Html5 canvas实现粒子时钟的示例代码
Sep 06 HTML / CSS
详解h5页面在不同ios设备上的问题总结
Mar 01 HTML / CSS
CSS3 实现NES游戏机的示例代码
Apr 21 HTML / CSS
CSS 伪元素::marker详解
Jun 26 HTML / CSS
css布局巧妙技巧之css三角示例的运用
Mar 16 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
在Mac上编译安装PHP7的开发环境
2015/07/28 PHP
php限制文件下载速度的代码
2015/10/20 PHP
php判断/计算闰年的方法小结【三种方法】
2019/07/06 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
JQUERY THICKBOX弹出层插件
2008/08/30 Javascript
jquery 学习笔记一
2010/04/07 Javascript
JQuery Easyui Tree的oncheck事件实现代码
2010/05/28 Javascript
javascript学习笔记(十一) 正则表达式介绍
2012/06/20 Javascript
利用jquery包将字符串生成二维码图片
2013/09/12 Javascript
Jquery中children与find之间的区别详细解析
2013/11/29 Javascript
PhantomJS快速入门教程(服务器端的 JavaScript API 的 WebKit)
2015/08/06 Javascript
AngularJs Forms详解及简单示例
2016/09/01 Javascript
几句话带你理解JS中的this、闭包、原型链
2016/09/26 Javascript
jQuery模拟完美实现经典FLASH导航动画效果【附demo源码下载】
2016/11/09 Javascript
Vue.js常用指令的使用小结
2017/06/23 Javascript
老生常谈js中的MVC
2017/07/25 Javascript
bootstrap+jquery项目引入文件报错的解决方法
2018/01/22 jQuery
Vue 源码分析之 Observer实现过程
2018/03/29 Javascript
详解Angular6学习笔记之主从组件
2018/09/05 Javascript
vue实现搜索功能
2019/05/28 Javascript
基于JS实现父组件的请求服务过程解析
2019/10/14 Javascript
[46:43]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第三局
2016/02/28 DOTA
[01:09:23]KG vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
用Python创建声明性迷你语言的教程
2015/04/13 Python
浅谈Python爬虫基本套路
2019/03/25 Python
Pycharm添加虚拟解释器报错问题解决方案
2020/10/13 Python
python 数据类型强制转换的总结
2021/01/25 Python
来自美国主售篮球鞋的零售商店:KICKSUSA
2017/11/28 全球购物
俄罗斯购买剧院和演唱会门票网站:Parter.ru
2019/11/09 全球购物
优秀求职信范文分享
2014/01/26 职场文书
趣味游戏活动方案
2014/02/07 职场文书
物流专员岗位职责
2014/02/17 职场文书
老师的检讨书
2014/02/23 职场文书
SpringDataJPA在Entity中常用的注解介绍
2021/12/06 Java/Android
nginx中封禁ip和允许内网ip访问的实现示例
2022/03/17 Servers
python绘制简单直方图(质量分布图)的方法
2022/04/21 Python