0

我通过 Webfaction 中的 Apache 和 Nginx 提供我的内容。Webfaction 仅支持其 Nginx 服务器的所有静态内容(图像、css 文件、js 等)的“epxires_max”指令。

我尝试了 Google PageSpeed Tool,它说:

以下可缓存资源具有较短的新鲜生命周期。为以下资源指定至少一周后的到期时间:

然后列出它认为我需要指定其到期时间的大约 50 张图像。

所以我的问题是:

(a) 通过(Apache 和)Nginx(不包括 expires_max 指令)提供内容并使用 memcached,我是否还需要为我的静态内容指定更多过期信息?

(b) 除了 'expires_max' 我还有其他选择吗?

4

2 回答 2

3

如果您使用 NGINX 来提供所有静态内容,那么在 server 块中添加它应该可以解决问题:

location ~* \.(?:css|js|gif|jpe?g|png)$ {
    expires max;
    add_header Cache-Control public;
}
于 2013-02-18T08:20:30.797 回答
1

Expires基本上,过期信息是通过使用 http 标头来指定的,特别是,Cache-Control和可能的Etag和的某种组合`Last-Modified。例如,请参阅http://www.mnot.net/cache_docs/以获取有关缓存如何工作以及标头含义的更多信息。

设置这些标头通常是您在网络服务器配置中执行的操作:

  • 对于 Apache,您可以将必要的配置添加到您的主 apache 配置(如果您有权访问),或者通过 .htaccess 文件。您可以在这些 .htaccess 文件中添加哪些指令取决于AllowOverride指令在主配置中的配置方式。
  • Nginx 需要访问主服务器配置文件,没有类似于 .htaccess 的机制(请参阅http://wiki.nginx.org/LikeApache-htaccess了解原因)

换句话说,您需要联系 webfaction 支持(如果不在他们的常见问题解答中)并找出对您开放的选项:

  • 你可以自己在主配置中添加东西吗?(我从对马特回答的评论中没有收集到)
  • 如果通过票证要求,他们是否愿意将配置位添加到您的虚拟主机的配置中?
  • Apache 的 AllowOverride 设置为什么?因此,您可以为自己设置什么?(请参阅上面链接的 apache 文档)
于 2013-02-18T19:09:44.833 回答