浏览器用来处理/理解HTML的内部机制是什么?
浏览器如何理解HTML浏览器用来处理/理解HTML的内部机制是什么?,html,parsing,browser,Html,Parsing,Browser,浏览器如何理解HTML 为使浏览器以适当的可视方式呈现HTML,内部进行的实际处理是什么?这取决于特定的浏览器,但一般过程如下所示: 阅读HTML并将其解析为DOM树 加载链接资源(样式表、脚本、图像、媒体) 计算页面布局(位置、大小、颜色、字体等) 呈现页面 在现代浏览器中,这些操作部分并行运行,使事情比看上去复杂得多 如果你想知道更多细节,你可以看看源代码——至少Firefox(和其他基于Gecko的浏览器)和WebKit(谷歌Chrome和Safari的基础)是开源的。这是一个比第一次被问
为使浏览器以适当的可视方式呈现HTML,内部进行的实际处理是什么?这取决于特定的浏览器,但一般过程如下所示:
如果你想知道更多细节,你可以看看源代码——至少Firefox(和其他基于Gecko的浏览器)和WebKit(谷歌Chrome和Safari的基础)是开源的。这是一个比第一次被问到时更大的问题 幕后发生了很多事情。HTML被解析,脚本被定位,资源被加载,其中一些需要被解析。样式表增加了乐趣。脚本可以通过在加载文档时重写文档来创建更多工作。在前进的道路上,必须解决明显的安全问题。在每一步中,你必须假设每一页都有可能颠覆整个计算机,抵御你能想到的每一次攻击,以及你今天想不到的每一次攻击 这还远没有一个全面的清单
Mozilla Firefox背后的渲染引擎就是一个完整源代码的好例子。它维护得很好,速度很快,完全符合标准,大约有1000名代码审阅者和攻击者可以做到这一点。这确实不是我的领域,但对于任何语言,计算机都必须解析它,并构建它的内部表示 在5之前的HTML版本中,每个浏览器都决定如何解析HTML本身。从HTML5开始,HTML规范实际上定义了如何解析HTML 并非所有浏览器都实现了这一点(可能没有),但WebKit团队至少正在进行这方面的工作,如果您正在学习解析HTML,那么看看他们的工作,或者HTML5规范,可能是一个很好的开始