浏览器如何理解HTML?
内部发生的实际处理是什么,以便浏览器以正确的可视方式呈现HTML?
答案 0 :(得分:11)
这取决于特定的浏览器,但一般程序如下:
在现代浏览器中,这些操作部分并行运行,使事情比它们看起来要复杂得多。
如果您想了解更多详情,可以查看源代码 - 至少Firefox(以及其他基于Gecko的浏览器)和WebKit(Google Chrome和Safari的基础)都是开源的。
答案 1 :(得分:2)
这是一个比第一次被问到时更大的问题。
幕后发生了很多事情。解析HTML,定位脚本,加载资源,其中一些需要解析。样式表增添了乐趣。脚本可以通过在加载文档时重写文档来创建更多工作。在此过程中,必须解决明显的安全问题。每走一步,你都必须假设每一页都是潜在的企图颠覆整个计算机并抵御你能想到的每一次攻击,以及你今天想不到的每一次攻击。
这远不是一个全面的清单。
完整源代码可用的一个很好的例子是Gecko,Mozilla Firefox背后的渲染引擎。它维护良好,速度快,符合标准,并且与1000名代码审查者和攻击者一样安全。
答案 2 :(得分:1)
这真的不是我的领域,但是使用任何语言,计算机都必须解析它,并构建它的内部表示。
在5之前的HTML版本中,每个浏览器都决定了如何解析HTML本身。从HTML5开始,HTML规范实际上定义了如何解析HTML。
并非所有浏览器都实现了这一点(可能没有),但WebKit团队至少正在研究它,如果你正在了解它,看看他们的工作或HTML5规范可能是一个好的开始解析HTML。