使用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 相关文章推荐
使用HTML和CSS3绘制基本卡通图案的示例分享
Nov 06 HTML / CSS
纯CSS3制作的鼠标悬停时边框旋转
Jan 03 HTML / CSS
CSS3解析抖音LOGO制作的方法步骤
Apr 11 HTML / CSS
CSS实现雨滴动画效果的实例代码
Oct 08 HTML / CSS
分享一个页面平滑滚动小技巧(推荐)
Oct 23 HTML / CSS
使用HTML5进行SVG矢量图形绘制的入门教程
Feb 19 HTML / CSS
浅谈html5增强的页面元素
Jun 14 HTML / CSS
HTML5+CSS3模仿优酷视频截图功能示例
Jan 05 HTML / CSS
h5实现获取用户地理定位的实例代码
Jul 17 HTML / CSS
AmazeUI 网格的实现示例
Aug 13 HTML / CSS
HTML5来实现本地文件读取和写入的实现方法
May 25 HTML / CSS
HTML基础详解(下)
Oct 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
什么是短波收听SWL
2021/03/01 无线电
PHP实现微信退款功能
2018/10/02 PHP
PHP写API输出的时用echo的原因详解
2019/04/28 PHP
[JS]点出统计器
2020/10/11 Javascript
学习YUI.Ext 第四天--对话框Dialog的使用
2007/03/10 Javascript
javascript中onclick(this)用法介绍
2013/04/19 Javascript
浅析JavaScript中的typeof运算符
2013/11/30 Javascript
纯javascript移动优先的幻灯片效果
2015/11/02 Javascript
理解JavaScript表单的基础知识
2016/01/25 Javascript
jQuery layui常用方法介绍
2016/07/25 Javascript
JS关闭窗口时产生的事件及用法示例
2016/08/20 Javascript
js实现下拉菜单效果
2017/03/01 Javascript
webpack4从0搭建组件库的实现
2020/11/29 Javascript
Python SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
2014/05/06 Python
Python六大开源框架对比
2015/10/19 Python
python实时分析日志的一个小脚本分享
2017/05/07 Python
Python中is和==的区别详解
2018/11/15 Python
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
2018/12/24 Python
opencv实现静态手势识别 opencv实现剪刀石头布游戏
2019/01/22 Python
基于python中__add__函数的用法
2019/11/25 Python
Python递归函数特点及原理解析
2020/03/04 Python
vscode写python时的代码错误提醒和自动格式化的方法
2020/05/07 Python
python中通过pip安装库文件时出现“EnvironmentError: [WinError 5] 拒绝访问”的问题及解决方案
2020/08/11 Python
如何基于Python按行合并两个txt
2020/11/03 Python
Python利用myqr库创建自己的二维码
2020/11/24 Python
Python 带星号(* 或 **)的函数参数详解
2021/02/23 Python
纯CSS3实现鼠标滑过按钮动画第二节
2020/07/16 HTML / CSS
英国潮流网站:END.(全球免邮)
2017/01/16 全球购物
英国广泛的照明产品网站:Lights4living
2018/01/28 全球购物
请解释接口的显式实现有什么意义
2012/05/26 面试题
教育局长自荐信范文
2013/12/22 职场文书
个人简历中的自我评价怎么写
2014/01/26 职场文书
万能检讨书2000字
2014/10/17 职场文书
银行先进个人总结
2015/02/15 职场文书
毕业典礼致辞
2015/07/29 职场文书
了解Kubernetes中的Service和Endpoint
2022/04/01 Servers