我想知道是否有任何现代浏览器实际缓存嵌入式图像 - 是否为base64字符串?
在不久的将来还有可能吗?基于W3C或主要浏览器的官方文档。
答案 0 :(得分:6)
我不这么认为,因为你错过了Resource Identifier
作为缓存图片的关键。对于嵌入式图像,您只拥有数据本身。
此外,内联图像的潜在条件请求必须位于包含它的HTML文档的级别。内联图像只是没有附加请求的数据。但HTTP不支持部分数据的条件请求。
答案 1 :(得分:3)
据我了解,如果base64字符串是HTML文档的一部分(内联),那么每次下载文档时都必须下载并解析为图像 - 无法缓存文档片段。如果它是外部CSS文件中的背景图像,则可以使用CSS文件进行缓存,但仍需要对每个请求进行解析。我还读到base64编码在图像字节之上增加了大约30%的开销,但这可以在很大程度上被gzipping否定。
答案 2 :(得分:0)
浏览器可以缓存下载的文件。如果Base64字符串在文本(或JSON)文件中,则可以对其进行缓存。然后可以直接在HTML中使用这些数据(如果使用JSON,则可以使用Javascript解析并与HTML一起使用)。