写点什么

不应忽视的 HTML 优化

  • 2010-05-13
  • 本文字数:1057 字

    阅读完需:约 3 分钟

随着 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)专题

2010-05-13 22:145448
用户头像

发布了 501 篇内容, 共 283.8 次阅读, 收获喜欢 64 次。

关注

评论

发布
暂无评论
发现更多内容

Java中使用Spring-security(一)

爱好编程进阶

Java 面试 后端开发

Google 出品的 Java 编码规范,权威又科学,强烈推荐

爱好编程进阶

Java 面试 后端开发

一文看懂“低代码,零代码,APAAS”是什么?怎么选?

优秀

低代码 零代码 aPaaS

Java 集合容器篇面试题(上)-王者笔记

爱好编程进阶

Java 面试 后端开发

java 使用Html2Image将html转图片

爱好编程进阶

Java 面试 后端开发

聊一聊龙蜥硬件兼容性 SIG 那些事儿 | 龙蜥 SIG

OpenAnolis小助手

开源 sig 硬件兼容 龙蜥操作系统

不同操作系统之间的应用是否可以兼容?

InfoQ IT百科

复杂度守恒定律与计算哲学|Authing CEO 谢扬

Authing

开发者 云原生 身份云 生产力 Idaas

电脑硬件中光驱的作用是什么?

InfoQ IT百科

git(1) 起步

爱好编程进阶

Java 面试 后端开发

抖音春晚活动背后的 Service Mesh 流量治理技术

火山引擎开发者社区

微服务 后端 后端技术

Java并发关键字-volatile

爱好编程进阶

Java 面试 后端开发

【等保】二级等保常见问题解答汇总

行云管家

网络安全 等保 等保2.0 二级等保

电脑内存越大处理速度就越快吗?

InfoQ IT百科

Flink SQL Client综合实战

爱好编程进阶

Java 面试 后端开发

跟我读CVPR 2022论文:基于场景文字知识挖掘的细粒度图像识别算法

华为云开发者联盟

图像识别 推理 视觉 文字检测 语义信息

如何调节鼠标的灵敏度?

InfoQ IT百科

DevSecOps软件安全开发实践

华为云开发者联盟

开源 DevSecOps 安全开发 华为云DevCloud 软件研发

一文深入Java浅拷贝和深拷贝

芝士味的椒盐

Java 大数据 Java 开发 深拷贝 浅拷贝

破浪人丨国内首位 Envoy Maintainer!王佰平独家讲述四年开源之路

网易数帆

开源 云原生 Service Mesh 服务网格 envoy

电脑分区C盘格式化会怎样?

InfoQ IT百科

java程序员的AI之路-大数据篇 hadoop安装

爱好编程进阶

Java 面试 后端开发

【网络安全】8个网络安全名词解释看这里!

行云管家

网络安全 防火墙 数据安全 堡垒机

http server源码解析

爱好编程进阶

Java 面试 后端开发

怎么样判断显卡性能好坏?

InfoQ IT百科

Java中return和finally到底哪个先执行

爱好编程进阶

Java 面试 后端开发

纯 JS 实现 WebRTC 视频通话

杨成功

音视频 WebRTC

云小课|教你如何使用RDS for PostgreSQL插件

华为云开发者联盟

postgresql 插件 开源数据库 RDS for PostgreSQL

如何实现迭代快速排序算法(iterative quicksort algorithm)?

InfoQ IT百科

与操作系统性能最相关的组件是什么?

InfoQ IT百科

前端食堂技术周刊第 34 期:Node.js v18 、Nuxt 3 RC1、Parcel v2.5.0、计算机程序的构造和解释、Linux 命令行世界生存指南

童欧巴

JavaScript 前端 技术周刊

不应忽视的HTML优化_Java_崔康_InfoQ精选文章