6

我开始想知道使用空格缩进 html 文档的总体影响是什么。

为什么不简单地使用制表符来缩进?这不是更具成本效益吗:1 个字符 (\t) 与示例 4 个字符(空格)?

我通过将 asp.net 页面转换为使用选项卡并比较渲染标记的大小进行了一些实验。通过仅替换一个部分视图的空白空间,导致 22kb 大小的页面减少到 19,4kb -> 减少了 12%。更改所有缩进,页面最终分配了 16,7kb - 减少了 24%!(使用 chrome 开发工具和 Fiddler 进行验证)

我的推理合理吗?制表符应该主要用于 HTML 的缩进吗?是否有任何理由使用空格(例如与外来浏览器的兼容性)?

附言。Stackoverflow 似乎也使用空格。将 SO 主页转换为使用选项卡可以减少 9%。这是有效的观察吗?如果是这样,他们为什么不使用标签?

4

3 回答 3

5

StackOverflow 使用HTTP 压缩- 当它打开时,使用空格和制表符之间的差异会缩小 - 很多。

您需要针对压缩版本运行测试以获得可靠的结果。

不过,对于浏览器不支持服务器支持的压缩方案的情况,您确实有一点道理。

于 2011-12-30T10:47:48.273 回答
2

第一件事:html没有缩进的规则。它是由程序员为代码可读性和程序结构而完成的。我们可以通过压缩来减少缩进和空格占用的大小。

Minify/compact/compressing HTML : 压缩 HTML 代码,可以节省很多字节的数据,加快下载、解析和执行时间。

StackOverflow 使用 HTTP 压缩

缩小 HTML 与缩小 CSS 和 JS 具有相同的好处:减少网络延迟、增强压缩以及更快的浏览器加载和执行。此外,HTML 经常包含内联 JS 代码(在标签中)和内联 CSS(在标签中),因此缩小这些代码也很有用。

注意:此规则是实验性的,目前专注于减小尺寸而不是严格的 HTML 格式良好。该规则的未来版本也将考虑正确性。有关当前行为的详细信息,请参阅 Page Speed wiki。

Tip: When you run Page Speed against a page referencing HTML files, it automatically runs the Page Speed HTML compactor (which will in turn apply JSMin and cssmin.js to any inline JavaScript and CSS) on the files and saves the minified output to a configurable directory.

Refer : http://code.google.com/speed/page-speed/docs/payload.html#MinifyHTML

于 2011-12-30T10:48:57.783 回答
1

Why not simply use tabs to indent? Wouldn't this be more cost-effective: 1 char (\t) vs. example 4 chars (spaces)?

If you're worried about downloaded HTML size, you won't fuss over tabs-vs-spaces — you'll compress your HTML as it goes over the wire and minify your markup, CSS, and Javascript, which provide real savings and don't interfere with your own coding guidelines.

于 2011-12-30T10:49:03.357 回答