格式正确的 html5 加载速度比糟糕的加载速度快吗?
is well-formed html5 loaded faster than a crappy one?
html5 不像 xml 那样严格,所以即使这个糟糕的文件也得到了 w3c html5 validator:
的验证
<!doctype html>
<title>crappy html5</title>
<div class=dummy>
<h1>crappy html5</h1>
<p class=noclosetag>HTML5 is awesome
<ol class=navigator>
<li><a href=/>index</a>
<li><a href=/user>user</a>
<li><a href=/rss>rss</a>
</ol>
</div>
如果规则是宽松的,那么一些懒惰的程序员可能会通过编写蹩脚的文件来节省一些工作;但是,我想知道这是否会导致明显的性能问题,因为浏览器需要更正糟糕页面上的错误;我还没有做过测试,部分原因是我不知道什么才是对这类事情的公平和彻底的测试;
没有。 HTML 解析器真的不关心 HTML 的垃圾,而 "correcting mistakes" 不是它的工作方式。它只是处理它看到的每个字节并相应地构造 DOM。
虽然解析器可能在控制台中报告解析错误,但您的示例无论如何都不包含任何解析错误。无论哪种方式,它对性能的影响都是零。
如果你想研究解析器是如何工作的,在section 8 of the HTML5 spec
中都有描述
html5 不像 xml 那样严格,所以即使这个糟糕的文件也得到了 w3c html5 validator:
的验证<!doctype html>
<title>crappy html5</title>
<div class=dummy>
<h1>crappy html5</h1>
<p class=noclosetag>HTML5 is awesome
<ol class=navigator>
<li><a href=/>index</a>
<li><a href=/user>user</a>
<li><a href=/rss>rss</a>
</ol>
</div>
如果规则是宽松的,那么一些懒惰的程序员可能会通过编写蹩脚的文件来节省一些工作;但是,我想知道这是否会导致明显的性能问题,因为浏览器需要更正糟糕页面上的错误;我还没有做过测试,部分原因是我不知道什么才是对这类事情的公平和彻底的测试;
没有。 HTML 解析器真的不关心 HTML 的垃圾,而 "correcting mistakes" 不是它的工作方式。它只是处理它看到的每个字节并相应地构造 DOM。
虽然解析器可能在控制台中报告解析错误,但您的示例无论如何都不包含任何解析错误。无论哪种方式,它对性能的影响都是零。
如果你想研究解析器是如何工作的,在section 8 of the HTML5 spec
中都有描述