问题标签 [expires-header]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5546 浏览

apache - 通过 .htaccess 设置过期标头和压缩数据

我正在尝试对其进行设置,以便浏览器长期缓存 webfonts,并尝试对它们进行 gzip 压缩以加快下载速度。

据我所知,您可以通过httpd.confApache 中的文件或通过.htaccess.

我不确定如何判断 gzip 是否启用,我读了一些关于搜索httpd.conf文件的内容DEFLATE;我这样做了,但什么也没找到 - 所以不确定它是否已启用!?

不管怎样,我已经把下面的代码放到了.htaccess文件中,部分原因是我不知道把它放在 httpd.conf 文件的什么地方,部分原因是在 .htaccess 文件中进行更改更容易,而不会不断地打扰我的主机。

这是代码..

现在,我想知道这是否正确,因为我也看到了类似但不同的到期代码..

将它放在文件中的哪个位置是否重要,.htaccess或者它可以放在任何地方?

0 投票
2 回答
52059 浏览

apache - 为字体设置过期标题不起作用

我在我的 .htaccess 文件中使用下面的代码来尝试为某些字体设置过期标头,但是在检查我的 Firefox 缓存和过期标头后,字体设置为从现在起大约 12 小时内过期;不是我试图设置的 1 年。

这是我的代码:

我究竟做错了什么?

0 投票
1 回答
1212 浏览

http - 现在不需要 Expires 标头吗?

我看到大玩家(即 akamai)开始一起放弃Expires标题并且只使用Cache-Control,例如

那么还有什么理由继续使用Expires吗?

0 投票
1 回答
1357 浏览

drupal - 过期标头不起作用drupal

我在 .htaccess 文件中设置过期标头,如下所示

ExpiresActive On
ExpiresDefault A1209600

它适用于文档根目录中的所有文件,但我有一个单独的已安装驱动器,用作 drupal 文件系统(私有),我在其中存储我的 jcarousel 图像,对于这些图像,过期标头不起作用。

0 投票
1 回答
5360 浏览

node.js - 使用 Nginx 作为 node.js 的代理将 Expires 标头添加到 favicon.ico

我的网站在 node.js 上运行,我正在使用 Nginx 从无 cookie 域中提供静态文件。对于这些文件,我设置了 Nginx 来设置过期标头。但是,它似乎不适用于我的网站图标。

我的 Nginx默认配置文件:

Ico 在mime.types中有一个 minetype :

显示没有缓存控制或过期的服务响应标头:

这些是具有缓存控制的随机图像的响应,并且正如您所期望的那样过期:

我检查了是否从静态域 (static.domain.com/favicon.ico) 而非网站文档根 (domain.com/favicon.ico) 提供了 favicon。有谁知道出了什么问题或我该如何调试?

0 投票
0 回答
315 浏览

cache-control - 为什么要指定 Last-Modified?

我对这个标题有点困惑。我已经在我的 .httaccess 中添加了“Expires”和“Cache-Control: max-age”。我还按照建议删除了“E-tag”和“Last-Modified”:

如果您删除 Last-Modified 和 ETag 标头,您将完全消除 If-Modified-Since 和 If-None-Match 请求及其 304 Not Modified 响应,因此文件将保持缓存而不检查更新,直到 Expires 标头指示新内容可用!

那么为什么 Google 的 PageSpeed 显示了这一点?

指定缓存验证器:以下资源缺少缓存验证器。未指定缓存验证器的资源无法有效刷新。指定 Last-Modified 或 ETag 标头以启用以下资源的缓存验证

0 投票
5 回答
131438 浏览

html - 添加过期标头

使用 yahoo YSLOW 测试站点时,它会显示上述消息。所以我不知道如何添加过期标头。任何帮助,将不胜感激?

0 投票
1 回答
6426 浏览

nginx - 基于 nginx 中的动态 Content-Type 的过期标头

我有一个 PHP 网站,其中一些内容是用户生成的。例如,用户可以上传调整大小并可以请求的照片。我想在我的 nginx 配置中根据 MIME 类型(响应头)指定一个Expires头(用于缓存) 。Content-Type

这是我当前的配置(我的主机自动添加http{}and server{}):

这适用于静态文件(如.png文件——它们得到正确的Expires标题),但它对动态生成的内容index.php(根本没有Expires标题)没有影响。有人知道我做错了什么吗?

0 投票
0 回答
339 浏览

.htaccess - 远期过期标头被忽略

按照 Yahoo / YSlow 在http://developer.yahoo.com/performance/rules.html#expires给出的建议,我正在尝试为我的图像设置一个遥远的未来 Expires 标题。

在我的 .htacess 中,我有:

在 Firefox 中使用 Live HTTP Headers 我可以看到没有 ETag 并且过期日期显示为 2014。此外,查看缓存我可以确认过期日期并且没有 ETag 或服务器上次修改日期。

再次遵循 YSlow 提供的信息,我期望如果我现在更改图像而不更改其文件名,则在达到到期日期之前不会发生任何更改。YSlow 指出“如果您使用一个遥远的未来 Expires 标头,您必须在组件更改时更改组件的文件名”。

但是,如果我刷新它,我对图像所做的任何更改仍然会立即反映在网页上,使用 XAMPP 在 localhost 上进行测试。

这是本地服务器的事情还是我误解了它的工作原理?

谢谢。

0 投票
3 回答
6989 浏览

nginx - nginx Expires 标头和反向代理不起作用

我正在尝试为 nginx (0.7.67) 上的静态文件配置 Expires 标头。静态文件由 Golang 反向代理提供:

当我这样做时,重新启动 nginx 没有错误,但不再提供静态文件。

已经尝试过以下星座,但它不起作用:

问题:如何为位于反向代理后面的应用程序上的静态文件应用过期标头?