HTML解析过程
假设有这样一段HTML文本:

 

  1. <html> 
  2.  <body> 
  3.     <p> 
  4.       Hello World 
  5.     </p> 
  6.  
  7.     <div> <img src="example.png"/></div> 
  8.  </body> 
  9. </html> 
解析后的结果应该如下图所示
 

WebKit的解析的过程为:

Html的解析主要包括两个部分

1.       Tokeniser阶段

这是一个基于事件的HTML文本解析过程,最后会生成一个Token序列输出,当然此过程中来自网络的HTML不一定是整个文档,网络端接收到一部分HTML字节流时就会通知解析机解析该部分的内容。

2.       TreeConstruction阶段

Tokeniser阶段的Token序列产生后,就会把序列一个一个地输入到TreeConstruction中,最后输出DOMTree。