问题标签 [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 回答
10428 浏览

tomcat - IE 11 在响应中忽略缓存控制标头

我在 Tomcat 的 web.xml 中设置过期过滤器。标头正确响应,但 IE 仍然没有缓存。它总是向 Tomcat 发出新的请求。

以下是来自响应的标题

缓存控制:max-age=7199

过期时间:2016 年 11 月 14 日星期一 16:08:22 GMT

内容类型:图片/png

传输编码:分块

日期:2016 年 11 月 14 日星期一 14:08:22 GMT

有谁知道,我在这里错过了什么?

0 投票
1 回答
1124 浏览

apache - 使用 Apache/nginx 重写规则和 Expires-Header

我今天遇到浏览器缓存静态文件的问题。

我在运行 Apache 和 Nginx 的 Plesk 服务器上有一个 Prestashop 网站。

Prestashop 使用 apache 重写 url 规则生成一个 .htaccess 文件:

并且 Nginx 被设置为将 expires-header 添加到静态文件:

这将适用于其 url 未被 Apache 重写的静态文件:

网址示例: http://www.domain.tld/modules/homeslider/images/image_name.jpg

但不适用于其 url 被 apache 规则重写的产品图像:

网址示例:http://www.domain.tld/156-home_default/image_name.jpg

问题是:如何使 nginx expires-header 适用于由 Apache 重写规则重写的文件 url?

提前致谢。

编辑

服务器管理由 Plesk 12.5 处理。

nGinx 用于处理静态文件。我不太了解它的配置。

在 Plesk domain.tld -> Nginx 配置中,我检查了“智能静态文件处理”和“直接由 Nginx 提供静态文件”。在“附加 Nginx 指令”中,我添加了 expires-header 代码。这就是我对此所做的所有修改。这是默认的 plesk 配置。

重新编辑

nginx 虚拟主机配置文件:

0 投票
1 回答
707 浏览

.htaccess - 浏览器缓存覆盖过期标头

我有一个 Joomla 站点,在 Apache 服务器上运行,并且在 Firefox 和 Chrome 浏览器缓存页面并且不提供最新版本时遇到问题。

我已将此代码添加到我的 htaccess 文件中:

如果我清除 Chrome 和 Firefox 中的浏览器缓存然后加载站点,我会按照上面的代码获得图像、css 和 javascript 的正确响应标头。

对于主文档,我在第一次加载时得到这些响应标头:

但是当我重新加载页面甚至在新选项卡中打开它时,那些过期的标题会消失,并且浏览器会加载缓存的网页(状态代码 304 未修改)。

我不知道这里发生了什么。我在 Mac 上使用没有任何这些问题的 Safari,所以我很困惑为什么 Chrome 和 Firefox 的行为不像我期望的那样。

也许可以解释为什么页面有一组与过期相关的响应头而不是 htaccess 中的默认设置。这是 mod_expires 的工作方式吗?

我希望这里有足够的信息来回答我的问题,在此先感谢。

0 投票
1 回答
371 浏览

http - Youtube 发送错误的过期日期

我加载了一个 Youtube 视频,并在 Chrome 检查器中检查了网络选项卡。奇怪的部分是响应标头过期显示错误的日期,请参阅:

过期时间:1971 年 4 月 27 日星期二 19:44:06 EST

有人知道这是否正确实施(某些解决方案是“出于安全原因,响应已经过期”)还是只是一个错误?

整个请求-响应对:

0 投票
0 回答
271 浏览

amazon-cloudfront - 使用 Amazon CDN 时实施过期标头

在线阅读大量文档后,我似乎无法使用Amazon CDN获得过期标头。

我已经在服务器上更新了我的 htacess 文件(我认为 CDN 提供的那些文件会忽略它)。

我查看了我的 CDN 来源/行为,但我不确定如何在那里添加过期标头……或者是否有可能!

谁能建议如何做到这一点

0 投票
1 回答
176 浏览

php - 如何在 Css.php 文件(脚手架)上添加 Expires 标头

我在我的网站上使用SocialEngine,我想加快我的网站速度,所以我使用 Gtmetrix 和 PageSpeed 来看看我可以改进什么

我看到 Add Expires 标头有 0/100 ..

我已经做了研究,但是如何在 Exprires 标题上添加我的 CSS,看起来像这样..

我该怎么办?谢谢

我的.htaccess:

主题 /application/themes/* 我们使用了一个名为 CSS Scaffold 的框架,它使编辑社区主题成为一个简单的过程。每个主题都存储在 /applications/themes/ 中自己的目录中。首次安装 SocialEngine 时会自动加载默认主题。每个主题包含两个文件:constants.css 和 theme.css。

在 constants.css 的顶部,您会发现一系列全局 CSS 设置(称为“常量”)。您可以编辑这些以调整整个社区的颜色、字体和其他样式。

另一个文件 theme.css 包含在整个社区中使用的更具体的样式。许多这些样式从 constants.css 继承值。如果您想覆盖社区中的任何默认样式,您可以在此处对其进行编辑。如果它们不在 theme.css 中(并且是从主题本身外部加载的),您可以通过在 theme.css 底部添加新样式来覆盖它们。

有关如何使用 CSS Scaffold 的更多信息,请访问 Github 或 Google for CSScaffold 以获取视频和教程。

0 投票
1 回答
2130 浏览

.htaccess - htaccess Expires 标头中的更改未反映在浏览器中

我已将我网站上的所有 JS 设置为缓存一周。但是,我需要以更高的频率刷新某些特定文件。因此,我使用 FilesMatch 来影响 .htaccess 文件中的异常:

异常文件位于,我正在使用/sandboxassets/js/ga.js.htaccess/位于文档根目录 ( )。但是,浏览器似乎不尊重此异常,并为相关文件提供以下标头:

604800 秒是 1 周,这是我的.htaccess中定义的所有 JS 资产的默认值,但我需要它是 172800 秒(2 天)。我究竟做错了什么?另外,有没有办法告诉浏览器刷新到最新的标题?Opera 返回 31536000 秒(1 年),这是我最近将所有 JS 更改为 1 周的时间!

更新:使用以下代码导致我的网站完全崩溃并出现错误 500:

我先在里面添加它<IfModule mod_expires.c>,然后在它之后立即添加,每次都遇到同样的错误。

0 投票
1 回答
4373 浏览

performance - 缓存和 HTTP/2

我在一个在 HTTP/2 上运行的站点上,我实现了以下缓存设置:

关于此设置的一些问题:

  • 缓存控制过期是不同的时间间隔不是问题吗?
  • etaglast-modified不是多余的吗?
  • 如果使用 HTTP/2,在缓存性能方面还应该做些什么吗?
0 投票
0 回答
141 浏览

windows - 如何为 Windows 服务器设置 CSS、JS 和图像的过期时间

如何为 Windows 服务器设置 CSS、JS 和图像的过期时间

0 投票
0 回答
272 浏览

html - 我如何为 Windows 服务器设置 CSS、JS 和图像的过期时间(需要使用 .htaccess 或 web.config)

当我运行谷歌页面速度工具时出现以下错误 利用浏览器缓存 在静态资源的 HTTP 标头中设置到期日期或最长期限会指示浏览器从本地磁盘而不是通过网络加载以前下载的资源。将浏览器缓存用于以下可缓存资源:

http://www.clearskin.in/additional-css/medic/style.css(未指定到期时间)