内联base64数据uri(图像)是如何被缓存的?

时间:2017-04-12 08:41:54

标签: html css image performance caching

我在HTML页面内直接内联使用数据uri base64编码图像作为背景图像。 我读到与未编码的图像相反的地方,它们并没有存储在缓存中,这有时确实是性能问题。

但是在查看我的chrome dev工具时,我看到“缓存在内存中”......

enter image description here

是否内嵌了html base64图像?

如果是:我的问题是:我最初检查过它是因为我想分析加载base64内联图像的时间。所以我现在无法看到第一次下载/访问时间花费来解码和加载它?我尝试清除我的浏览器历史记录,但与其他缓存(如图像等标准资产)相反,它仍然存在,也就是说即使我清除浏览器历史记录/缓存,下次加载它时,它仍然是用chrome dev编写的工具为0ms /“来自内存缓存”:如何清除它以查看首次访问者会发生什么?

注意:当然在chrome dev工具中选择了“禁用缓存”。 此外,我不确定它是否重要,但这里是base64和html代码(它非常小:小于900字节)

<div style="background-image: url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCAAKAB4DAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABQYE/8QAJBAAAgEEAQMFAQAAAAAAAAAAAQIDAAQREgUTITEyQUJRcZL/xAAWAQEBAQAAAAAAAAAAAAAAAAAEAgP/xAAdEQACAgIDAQAAAAAAAAAAAAAAAQIDESEEInEx/9oADAMBAAIRAxEAPwCOtrYGJmdY36iEIerqUOR3I9/yqRJssYAk2jakg47HIpUFoNYygsZY7PmYmcqge2dYiQMb/Xfxmj8pPRvxWt5Bb6BYbyUB9hIRJqRgrnPmpqei7liQInmqiRIWsPUKVENIT5FQZeJJbUfId/SUW5934IpXReg7Mz8ldFyWJkfJJz8qx+JG7WWz/9k=');" ><a href="/home">

1 个答案:

答案 0 :(得分:2)

当我重复测试时,Chrome会发出两个请求。第一个获取HTML页面并且是正常请求。第二个获取图像并从内存中提供。这是有道理的,因为图像包含在HTML本身嵌入的第一个请求中。

换句话说,内联图像不会被缓存,除非他们所居住的页面被缓存。