BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

不应忽视的HTML优化

| 作者 崔康 关注 1 他的粉丝 发布于 2010年5月15日. 估计阅读时间: 3 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

随着Web2.0技术的不断发展,Web前端的优化受到越来越多的关注,特别是JavaScript和CSS优化的讨论一直是热点,工具也相对丰富,而对HTML优化则有所忽视,最近,来自百度泛用户体验团队的工程师Miller(chenminliang)撰文强调了HTML优化的重要性和相关技巧。

Miller首先举例说明了HTML优化稍显忽略的事实:

Steve Souders的大作《Even Faster Web Sites》中谈到非常多有效的前端优化方法,例如Javascript的加载、CSS选择符、图片优化、gzip、iframe问题等,唯独没有细说HTML优化。

他强调HTML优化虽然看似微小,但是不可忽视:

在整个前端的构成中,HTML是必不可少的一部分,而且是真正的展示“前端”。虽然与动辄十几K的Javascript相比,HTML的大小在整个页面资源中一般不会占太多的比重,而且还有Gzip,但是事实表明,大多数页面都有较大的压缩余地,即使是Gzip过后仍然能减小可观的体积...

Miller在文中总结了HTML优化的各种方法,将其分为两类:绿色规则——在各类页面中适用且无害和橙色规则——在某些具体的情况下才适用或者有违标准。

绿色规则可以概括为以下几种:

  • 使用相对URL,某些href、src属性如果与当前页面处于同一域名下,则使用相对URL能够节省至少一个域名的长度。
  • 删除HTTP或者HTTPS,绝对URL都以HTTP或HTTPS等协议头开始,如果能确定URL的协议与当前页面URL的协议是一致的,或者说该URL在多种协议下均是可用的,则可以考虑删除这个协议头。
  • 删除注释,考虑不必要的IE条件注释和CDATA注释及自定义注释。
  • 压缩空白符,对于多数标签,可以通过删除多余的空白符来减少HTML体积,但是对于pre等是例外。
  • 压缩inline css & Javascript,不管inline还是external,都需要压缩,这是减小体积的最直接的方式。
  • CSS&Javascript尽量外链,不仅可以减少体积,还能够充分利用浏览器的缓存机制。
  • 删除元素默认属性,在HTML规范中,很多HTML元素的属性是有默认值的,对于这些默认值可以抹去不写。

橙色规则就不一一列举了,感兴趣的读者可以直接查看原文

除了优化技巧之外,Miller特别推荐了两款相关工具——Absolute HTML Compressor和PageSpeed1.6:

HTML优化工具目前比较理想的是Absolute HTML Compressor,另外,PageSpeed1.6中也引入了HTML压缩功能,不过目前只有四个简单的策略,尚处于实验性阶段。

随着Web前端性能受到越来越多的关注,包括HTML优化在内的各个领域将得到进一步的发展,并不断提高Web的用户体验,InfoQ将继续关注和报道相关进展,感兴趣的读者可以查看富互联网(RIA)专题

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

不错不错 by Zhang Kaifeng

RT

主要就是压缩文本大小。 by Ma Karl

RT

长见识了 by Kyle Kyle

RT

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

3 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT