5

在 Google 的 404 页面中,使用 html 标记而不使用结束标记。您可以通过导航到 www.googleusercontent.com 自己查看代码 这不会在 w3c 验证器上生成任何错误。这是为什么?

<!DOCTYPE html>
<html lang=en>
  <meta charset=utf-8>
  <meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
  <title>Error 404 (Not Found)!!1</title>
  <style>
    *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}
  </style>
  <a href=//www.google.com/><img src=//www.google.com/images/errors/logo_sm.gif alt=Google></a>
  <p><b>404.</b> <ins>That’s an error.</ins>
  <p>The requested URL <code>/</code> was not found on this server.  <ins>That’s all we know.</ins>
4

3 回答 3

7

这应该有助于解释:

根据 Google 最新的网页加速指南,HTML4 中有许多可选标签可以省略以节省速度,即使这会让您作为开发人员感到有些反感。(Google 很快指出这些技巧是针对 HTML 而不是 XHTML。)

Google 主页和搜索结果页面不会结束它们的<body> and<html>元素。他们只是让它们保持开放——就像一个懒惰的开发人员可能会做的那样,当他回来看到错误时会感到内疚。

只有这个“错误”才是 Google 将业绩视为竞争优势的战略的一部分。所有浏览器在没有标签的情况下都能正常工作,而且标签会占用时间,因此他们很高兴能够为访问者消除任何毫秒。

http://blog.errorhelp.com/2009/06/27/the-highest-traffic-site-in-the-world-doesnt-close-its-html-tags/

于 2012-04-24T11:48:30.443 回答
2

开始和结束标签实际上都是可选的

仅在 HTML 语法中,开始和结束标记都是可选的,因此为方便起见,可以省略其中任何一个,除非您希望在此元素上指定属性,在这种情况下,至少需要包含开始标记。

于 2012-04-24T11:49:26.407 回答
0

HTML5 规范

如果 html 元素后面没有紧跟注释,并且该元素包含一个非空的 body 元素或其开始标记未被省略,则 html 元素的结束标记可以被省略。

于 2012-04-24T11:49:22.743 回答