【问题标题】:how do you add a "Cache-Control: public" header to a png file?如何将“Cache-Control:public”标头添加到 png 文件中?
【发布时间】:2011-10-05 23:25:52
【问题描述】:

我最近一直在查看 Safari 性能审核/建议。一节是指在一些png 资源中添加Cache-Control: public 标头。

我在别处听说过,想知道如何做到这一点。

事实上,从技术上讲,我什至不确定要实现这一目标需要做什么。是不是这个文本以某种方式插入到图像文件中?

【问题讨论】:

    标签: png cache-control web-optimization


    【解决方案1】:

    这是一个 HTTP 标头;你需要配置你的网络服务器来提供它。 (HTML 提供了一种在文档中指定 HTTP-header-equivalents 的方法,但 PNG 没有。)

    你没有提到你使用的是什么网络服务器,所以一般来说很难回答,但是例如,如果你使用的是 Apache,你可以使用 mod_headers 中的“header”指令:@987654321 @

    【讨论】:

    • 我没有提到网络服务器,因为我不知道它被牵连。感兴趣的是 Apache2。
    • 您的回答是否意味着每个具有相同类型的文件都会发送标头?即它不是特定于文件的? Safari 中的建议指向特定文件名似乎很奇怪(在 Safari 5 中 - 如果您开始“审核”,它会提供改进文件的提示。
    • 您可以使用 或其他指令来控制它(参见 [httpd.apache.org/docs/2.2/mod/core.html#files])。很有可能您实际上希望所有 *.png 文件都使用此功能-您也可以对任何永远不会更改的 *.png 文件执行此操作,前提是它是“公共的”(例如,对它的访问不受限制) , 对某些用户)。但是如果你想只为某些文件设置Cache-Control,或者只为某些目录中的文件设置Cache-Control,你可以。
    【解决方案2】:

    它不是作为图像一部分包含的文本。它是服务器响应中图像之前的 HTTP 标头。

    这通常在网络服务器配置中进行配置(如果在 apache 上,也可以通过 .htaccess 进行控制)。如果您使用的是 apache,我建议您阅读有关 mod_expires 的信息。

    【讨论】:

    • Apache 缓存指南——尽管很有用——实际上是关于服务器端缓存(mod_cache 等),因此与 Cache-Control 没有直接关系。 (我的意思是,Apache 的服务器端缓存确实 obey 该标头;但它没有设置它,这正是 T9b 所要求的。)
    • @skjaidev 请在下方查看我的 cmets 至 ruakh
    猜你喜欢
    • 1970-01-01
    • 2016-01-17
    • 2011-04-04
    • 2012-11-20
    • 1970-01-01
    • 2011-05-29
    • 2015-03-07
    • 1970-01-01
    • 2018-11-12
    相关资源
    最近更新 更多