具体来说,浏览器是否只缓存样式表的文本内容——因此它不必再次从网络中获取它——或者它是否还在解析后缓存它所包含的 CSS 规则的内部表示,因此既不获取也不获取需要解析缓存文件吗?
如果只缓存文本内容,缓存样式表比内联样式表有什么好处(不能缓存的地方)?
缓存旨在通过将通常较慢的网络下载替换为通常快速的本地文件读取来减少加载时间。因此,它是一个通用的解决方案(您可以缓存任何类型的资产,从 HTML 到 CSS、JavaScript、PDF、Excel ......),它可以节省大量时间(对于非常慢的网络,通常是几秒钟,甚至几分钟)。它还可以很好地处理动态 HTML。
您提出的是针对非常特定的数据集(HTML 文档的节点以及适用于它们的 CSS 规则)的非常特定的缓存解决方案,通常需要毫秒来处理,并且由于 JavaScript 可以不断变化。它看起来真的很难实现,它会让动态网站感到困惑(当页面加载时,每个人都希望获得初始的 HTML 状态,而不是你上次所做的任何事情),而且几乎没有任何好处。我不知道有任何浏览器甚至尝试过它。JavaScript 代码肯定有 JIT 编译器,但没有与此类似的东西。
如果只缓存文本内容,缓存样式表比内联样式表有什么好处(不能缓存的地方)?
我会说缓存本身是一个有效的好处,不是吗?生成内联 CSS 对网站管理员来说意味着更多的工作(您要么需要编写注入 CSS 文件的服务器端代码,要么享受甚至没有它们的维护混乱)。它还增加了 HTML 文档的大小。