[翻译]减小 HTML 文件

改善网站速度的一个很明显的方法是减小 HTML 文件的大小。有一些方法,比如:硬压缩(rigid compression),acupuncture-like ID 及改变 class 名(译注:这一句不是很确定,原文:There are several ways to do this, from rigid compression to acupuncture-like ID and class name changes)。下面是一些我们总结的使 HTML 标记更精简的方法。

译注:上面是引用 youtube 的视频,请翻墙观看。

HTML 4

HTML (非XHTML),MIME type 为 text/html ,允许省略一些标签。通过
HTML 4 DTD,你可以省略以下标签(那些所谓可避免的元素,这里用删除线加以标记(感谢一楼的翻译))

</area>

</base>

<body>

</body>

</br>

</col>

</colgroup>

</dd>

</dt>

<head>

</head>

</hr>

<html>

</html>

</img>

</input>

</li>

</link>

</meta>

</option>

</p>

</param>

<tbody>

</tbody>

</td>

</tfoot>

</th>

</thead>

</tr>

比如,你的代码是

<li>List item</li>

可以写为

<li>List item

又比如段落要以

</p>

结尾,你可以只写

<p>My paragraph

甚至可以去掉 html,head,body(把这作为你的编码规范之前请确保这会令你舒服)。

省略标签后 HTML 依然有效,同时减小了文件大小。对一般的页面来说,可以节省 5-20%。

HTML 5

正在发展中的 HTML 5 提供了一些减小文件大小的方法。

比如,页面文档类型声明

<!DOCTYPE html>

对比

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

很显然 HTML 5 的 DTD 更短。

当为页面指定编码时,HTML 5 很易用而且更短:

<meta charset="utf-8">

代替

<meta http-equiv="content-type" content="text/html; charset=utf-8">

通常情况下,浏览器会正确处理 HTML。

另外,在今天的 HTML 5 中,你可以去除声明 MIME 类型的 type 属性,比如

type="text/css"

type="text/javascript"

你可以用

<script>

替代

<script type="text/javascript">

<style>

替代

<style type="text/css">

在所有类型的页面中(甚至是 XHTHML)你可以省略

type="text/css"

HTML 5 使这一切变得更简单。

同时使用上面所有的方法会使文件节省 10%-20%(甚至更多),这取决于你的编码风格和页面中的文本内容数量。代码将更干净,访问者会更快的获取网站内容。在隐私中心项目中我们采用很多这类技术,节省了原始文件大小的20%。