0

我有一些相对较小的 HTML 文档——只有几十个表格行,有几列,其中一个包含文本类型信息,另一个包含带有提交按钮的简约表单,即该列的每一行中的表单/按钮。没什么特别的。CURL 报告我的 HTML 文档总重量约为 26 KB。但是,当我在 Firefox 浏览器中检查文档内存占用时,我得到了这张照片:

在此处输入图像描述

这意味着整个文档的 domNode 表示为1 MB!这意味着与纯 HTML 输出大小相比,完整文档的 domNode 表示的开销约为 40 倍!问题是 - domNode 类型有什么特别之处?为什么浏览器需要如此多的额外开销数据?

4

1 回答 1

1

恐怕你的比较不正确。
就像有人问“为什么这辆车的蓝图重 1.5 公斤,而汽车本身重 1500 公斤?开销是 1000 倍!”

HTML 代码只是 HTML 解释器(例如 Web 浏览器)的高级蓝图。
浏览器解析代码并创建文档对象模型 (DOM),其中每个节点都是一个对象并具有一些属性。那需要记忆。

请看下面的代码片段,或者更好的是,打开 Firefox 控制台并输入document.
你会看到很多东西(甚至在 empty 后面<html></html>)。

console.log(document)
.as-console-wrapper {max-height:100% !important; top:0}

于 2020-11-13T16:18:10.520 回答