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