提问人:Thelostcause 提问时间:2/28/2021 最后编辑:Thelostcause 更新时间:11/19/2022 访问量:293
HTML 解析和 Dom 树构造
HTML Parsing and Dom Tree construction
问:
所以我一直在努力了解浏览器是如何工作的,这让我头晕目眩。我读过几篇关于它的文章,但所有这些文章都不像它应该的那样清楚。
任何人都可以帮我详细了解浏览器的工作原理。 这是我到现在为止的理解:
考虑这个索引.html作为参考:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="./styles.css"
<title>Browser Working</title>
</head>
<body>
<h1>Help me to understand this</h1>
</body>
</html>
所以我知道当我点击服务器时,客户端将以原始形式(数据字节)获取索引 .html。 我们的浏览器将尝试将此原始数据转换为字符(使用我们在文件中提到的字符编码,如果我错了,请更正)。
编码成功后,或者说文件的字符转换。它将经历“代币化过程”。然后 HTML 解析器开始发挥作用,它将从标记化过程创建节点,然后将它们链接到文档对象树(也称为 DOM)中。
我想知道,当HTML解析器读取/遇到链接TAG时,它是否会向服务器发送css文件的请求?如果是,我知道相同的过程将继续进行(即原始数据 -> 字符 -> tokens -> node -> CSSOM),如果它会发出请求,那么 HTML 解析器会停止解析,直到完整的 CSSOM 完成吗?节点建设会停止吗?如果节点构造停止,那么 DOM 构造也会停止。
如果没有,Request for Css 文件何时发送到服务器,我的意思是在哪一步? 在代币化期间?在 HTML 解析(节点创建)或 DOM 构建期间(当节点在 DOM 中链接时)。还告诉我在上述任何步骤发送请求时执行是否会停止
谢谢
答: 暂无答案
评论