29

我注意到许多网站,甚至是谷歌和一些银行网站,都有写得很糟糕的 HTML,属性值周围没有引号,或者在链接中使用的字符(例如&符号)没有正确转义。换句话说,许多人使用无法验证的标记。

我很好奇他们的理由。HTML 有简单的规则,令人难以置信的是它们似乎没有遵循这些规则。还是他们使用的程序只是吐出代码?

4

6 回答 6

111

大多数人的答案基本上是正确的——当你每天为一个页面服务十亿次时,规则是不同的。字节开始变得重要,当前的压缩级别清楚地表明谷歌关心节省带宽。

几点:

一,人们暗示谷歌节省带宽的原因是财务方面的。不太可能。与 Google 搜索结果页面上的所有属性(Youtube、Blogger、地图、Gmail 等)的总和相比,即使是每天在 Google 搜索结果页面上节省的几 TB 数据也只是杯水车薪。更有可能的是,Google 想要它的搜索结果页面,特别是在尽可能多的设备上尽可能快地加载。是的,当页面每天加载十亿次时,字节很重要,但是当您的用户在撒哈拉沙漠使用卫星电话并努力获得 1kbps 时,字节也很重要。

第二,XHTML 等的编码标准与自 1994 年以来在所有浏览器中实际运行的事实上的标准之间存在差异。在这里,Google 的规模很重要,因为大多数 Web 开发人员乐于忽略任何占不到 0.1% 用户的麻烦浏览器,对于谷歌来说,这 0.1% 可能是 50 万人。他们很重要。所以他们的搜索结果页面应该可以在 IE 5.5 上运行。这就是他们仍然在许多高价值页面上使用表格进行布局的原因——它仍然是在大多数浏览器上“正常工作”的布局。

作为一个练习,当我在谷歌实习时,我写了一个完全兼容的谷歌搜索结果页面的 XHTML/CSS 版本并展示了它。最终问题出现了——我们为什么要提供如此大杂烩的 HTML?我们不应该带领网络开发社区走向标准吗?我得到的答案几乎是上面的第二点。谷歌确实遵循了一个标准——不是网络乌托邦的“不是很好”的标准,而是“到处都可以工作”的现实标准。

于 2010-01-08T19:53:48.190 回答
10

谷歌编写糟糕的 HTML 是有充分理由的——他们从搜索页面中删除的每个字符都会为他们每天节省数千兆字节的带宽。

于 2010-01-08T19:05:00.100 回答
6

如前所述,歌这样做是出于带宽原因。

至于银行和其他企业网站,可能有多种原因-

  1. CMS 吐出无效的 HTML
  2. Dreamweaver,说得够多了。
  3. 倾向于使用商业 UI 组件,这些组件的设计甚至可以在古老的浏览器上运行,因此它们会在谨慎方面犯错。
  4. 不强调良好的 HTML 和 Javascript 实践。他们中的许多人往往是没有优秀 UI 开发人员的 Java 或 .NET 商店。
  5. 设计糟糕的 .NET 用户控件和 JSTL 标签库。
于 2010-01-08T19:12:26.637 回答
4

对于像谷歌这样的几个网站来说,拥有完美的代码并不是“那么”重要。

然而,网页的总大小是。HTML 代码中节省的几个字节可能意味着数百美元的带宽。

因此,如果他们可以确定他们的页面将被正确呈现,他们会毫不犹豫地调整他们的 HTML。

于 2010-01-08T19:07:30.110 回答
2

一般来说,编写网站的代码很容易,因此对于没有经验或非程序员的入门门槛非常低。这使得生成子标准页面变得很容易,并且网络上到处都是它们。将其与 Microsoft Frontpage 之类的工具结合起来,可以更轻松地创建网站(甚至更容易生成糟糕的 HTML 代码),但情况会很糟糕。

于 2010-01-08T19:09:14.290 回答
2

标准的好处是您有很多可供选择。

于 2010-01-09T11:17:36.413 回答