为什么Google主页使用不推荐使用的HTML(即,不是有效的HTML5)?

我在Firebug中查看www.google.com ,发现有些奇怪的事情:Google徽标使用中心标签居中。

所以我去检查与W3Cvalidation的页面,它发现了48个错误。 现在,我知道有些时候您无法生成有效的网页,特别是在我们谈论www.google.com ,您希望它尽可能小,但是有人可以解释为什么他们使用中心标签?

几年前,我在SXSW参加了一个名为“F * ck标准”的小组,这个小组在所有的标准都是有意义的。 小组中有一位Google工程师谈论了Google主页失败的validation,使用了不推荐的标签等等。他说这完全是关于性能的。 在这种情况下,他特别提到了使用表格跳动div和CSS的布局渲染。 只要页面为他们的用户工作,他们赞成性能超过标准。

这是一个非常简单的stream量高的页面,所以它是有道理的。 我想如果你正在构build一个复杂的应用程序,这种方法可能不能很好地扩展。

从马的嘴里。

因为这是完成工作最简单,最简单的方法。 <center>已经被弃用了,但是只要它仍然被支持,你仍然可以看到它们在使用它。

比边距短:0自动。 更快parsing。 这是有效的HTML4。 没有外部依赖性,所以less了HTTP请求。

可用性不是有效的。

谷歌search最大的成就是build立一个易于使用,可以广泛使用的网站。 现在,如果Google通过一个没有validation的页面来实现这一点,那么这里有一个教训要学习。

我想问一个更好的问题是“为什么Google会validation它是否正常工作?” 这对用户没有任何影响。

有人猜测和讨论这是否是故意的; 在第一个链接中进行的基本testing确实导致了一个较小的页面,甚至通过数百万个页面浏览器进行了理论上的叠加。 我怀疑这就是它的原因:它是在当时的许多浏览器上创build,testing的,它工作并继续工作。

Google在主页上以多种方式打破了validation。 这很可能是真正的原因 – 它们都是关于速度和带宽成本的。 特别是在数据包级别应用Gzip之后,请查看主页HTML的大小。 他们显然试图避免数据包碎片(这将意味着更多的带宽),并愿意尽其所能(标识符缩短,引用删除,不推荐使用的标签,删除空白等)。

如果你把这看作是一个有效性的问题,那么很好,但是如果你不假设这个当然会跳到一个否定的结论,那么他们就会故意违反规则。 顺便说一句,你可以进一步优化他们的页面正面和负面的方式,但为什么一旦在典型的数据包大小,这是没有意义的。

他们还使用其他不赞成的表示标签,如字体和你。 我的猜测是,它使页面加载,然后使用外部样式表更快,并允许它在更多的平台上工作。

当然,这已经被弃用了,但我认为简单是你的问题的答案。