【问题标题】:Data-URI's and caching数据 URI 和缓存
【发布时间】:2011-01-25 09:33:53
【问题描述】:

我在维基百科上阅读了this

数据 URI 不会与其包含的文档(例如 CSS 或 HTML 文件)分开缓存,因此每次重新下载包含的文档时都会下载数据。

这是否意味着每次刷新页面或用户单击导航链接时都会下载我的代码?我可以做些什么来缓存 data-uri 的?

ps - 我说的是 20 个左右的小 png 文件(主要是丝绸图标,但也有 2 * 16KB 文件)

【问题讨论】:

    标签: css data-uri


    【解决方案1】:

    数据 URI 只不过是嵌入在 HTML 和 CSS 文件中的 Base64 编码二进制数据形式的文本。所以是的,每次请求它们时,它们都会作为 HTML 和 CSS 文件的一部分下载,除非这些文件本身被缓存。

    如果您只保留样式表的数据 URI 并发送适当的缓存标头,那么将 data: 图像与 CSS 一起缓存应该不会造成问题。

    【讨论】:

    • 谢谢,我现在完全明白了,维基百科的评论听起来好像我做不到。干杯
    • 意思是:数据总是和包含的文档一起缓存。如果您对数据 URI 或包含它的 HTML/CSS 进行更改,则必须重新加载所有这些(因为它们位于同一文档中)
    • @sysockit 是对的。 @stephenmurdoch,在将所有 base64 用于您的资产之前,请考虑我的 Avoid Data URIs 文章 :-) 本质上,当您通过上下文将编码图像分离到具有 IE 的 MHTML 后备的专用 css 文件时,您最终会得到臃肿、难以维护的精灵。
    • @Ronny 有一篇很棒的文章,但看起来网址已更改。我通过谷歌找到它frontend.co.il/articles/avoid-data-uris-english
    • @Ronny tl;dr “数据 URI 在 IE 中不起作用,而且有点大。”
    猜你喜欢
    • 2010-11-21
    • 2017-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-22
    相关资源
    最近更新 更多