为什么一些主要网站使用无效的HTML?

时间:2010-01-08 19:01:56

标签: html css validation xhtml web-standards

我注意到很多网站,甚至谷歌和一些银行网站,都有写得不好的HTML,没有关于属性值的引号,或者使用诸如&符号之类的字符未在链接中正确转义。换句话说,许多人使用无法验证的标记。

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

6 个答案:

答案 0 :(得分:110)

大多数人的答案基本上都是正确的 - 当你每天服务一页十亿次时规则是不同的。字节开始变得重要,目前的压缩程度清楚地表明Google关注节省带宽。

几点:

一,人们暗示谷歌节省带宽的原因是财务上的。不太可能。即使每天保存在谷歌搜索结果页面上的几TB也是一大笔钱,与其所有属性的总和相比:Youtube,Blogger,地图,Gmail等等。更有可能的是Google希望其搜索结果页面,特别是,尽可能快地在尽可能多的设备上加载。是的,当页面每天加载十亿次时,字节很重要,但当用户在撒哈拉沙漠中使用卫星电话并努力获得1kbps时,字节也很重要。

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

作为一项练习,在Google的实习生中,我编写了一个完全符合标准的XHTML / CSS版本的Google搜索结果页面并展示了它。最终问题出现了 - 我们为什么要提供这样的hodge-podge HTML?我们不应该领导Web开发社区走向标准吗?我得到的答案几乎是上面的第二点。 Google DOES遵循一个标准 - 而不是网络乌托邦的不太好的标准,但这是必须工作 - 绝对无处不在的现实标准。

答案 1 :(得分:10)

Google有充分的理由编写错误的HTML - 他们从搜索页面中删除的每个字符都会为他们节省每天几GB的带宽。

答案 2 :(得分:6)

由于discussed previously,Google会出于带宽原因进行此操作。

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

  1. CMS吐出无效的HTML
  2. Dreamweaver,足够说。
  3. 倾向于使用专为在古老浏览器上工作而设计的商业UI组件,因此他们会谨慎行事。
  4. 不强调良好的HTML和Javascript实践。他们中的许多人往往是Java或.NET商店,没有优秀的UI开发人员。
  5. 设计糟糕的.NET用户控件和JSTL标记库。

答案 3 :(得分:4)

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

然而,网页的总大小是。 HTML代码上的一些字节可能意味着数百美元的带宽。

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

答案 4 :(得分:2)

一般来说,编写网站很容易,因此对于没有经验或没有程序员来说,进入门槛非常低。这使得生成子标准页面变得容易,并且Web上充斥着它们。将其与Microsoft Frontpage等工具结合使用,可以更轻松地制作网站(甚至更容易生成错误的HTML代码),并且您的情况非常糟糕。

答案 5 :(得分:2)