问题标签 [mod-expires]

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 投票
4 回答
65265 浏览

apache - 使用 Apache 缓存网站图像

如何让 Apache 上的静态内容{被浏览器缓存}而不是{检查新鲜度{每个请求}}?

我正在开发托管在 Apache 网络服务器上的网站。最近,我正在测试一些带有标题的东西(Content-Type 用于不同类型的内容),并看到了很多对图像的条件请求。例子:

虽然图像文件是静态内容并由浏览器缓存,但每次用户打开链接到它们的页面时,都会有条件地请求它们,并发送“304 Not Modified”。这很好(传输的数据更少),但这意味着每次页面加载都会增加 20 多个请求(由于所有这些往返行程,即使启用了 Keep-Alive 和流水线,页面加载时间也会更长)。

如何告诉浏览器保留现有文件而不检查更新版本?

编辑: mod_expires 方法有效,即使使用 favicon。

0 投票
2 回答
3097 浏览

http-headers - 即使我添加了它们,yslow 仍然没有在 apache httpd 中为过期标头给我一个 A

尝试将 ExpiresDefault ExpiresByType 添加到我网站上的内容中,以便对其进行缓存。我在 Javascript、CSS 和图像的 URL(路径中的修订号)中使用 cachebusting,这样我就可以将这些 mimetype 设置为永远。我在 apache httpd 中设置了以下规则:

然后,当我访问我的网站http://karmerd.com并使用 httplive 标头查看标头时,我得到了我认为正确的 css 过期时间:过期时间:星期日,2019 年 2 月 3 日 17:52:48 GMT

但我使用雅虎的 Yslow 萤火虫扩展,它仍然给我一个 F 不使用过期!难道我做错了什么?我也在我的网站上使用 gravatar,但他们设置了 Expires。好像所有东西都有过期时间。是Yslow还是我?

0 投票
4 回答
20424 浏览

apache - 具有上次修改的缓存过期控制

在 Apache 的mod_expires模块中,有Expires两个基本时间段的指令accessmodify

可以理解的是,缓存将在 30 天后请求新内容。

然而,

没有直觉意义。

浏览器缓存如何知道文件已被修改,除非它向服务器发出请求?如果它正在调用服务器,那么缓存这个指令有什么用?在我看来,我不了解缓存的某些关键部分。请赐教。

0 投票
3 回答
42008 浏览

regex - Apache FilesMatch - 匹配正则表达式中的文件夹

我正在尝试使用 Apache2 的 .htaccess 文件缓存一些文件。我想缓存一个特定的文件夹比其他任何东西都长,所以我一直在尝试使用 FilesMatch 指令,如下所示:

<FilesMatch "skins(.*)\.(jpg|png|gif)">
ExpiresDefault A2592000
</FilesMatch>

我希望能够缓存 /skins/ 目录及其子目录中的所有图像文件。但是,我不能完全让正则表达式起作用——Apache 完全忽略了它。

您如何将文件夹与<FilesMatch>.htaccess 文件中的文件夹匹配?

干杯,
马特

0 投票
1 回答
1564 浏览

lighttpd - lighttpd 中静态图片的 expires.url 配置

我试图避免从我的网络应用程序中重复重新加载图像。我使用lighttpd来提供静态内容,并且我已经过期配置如下:

expire.url = ( "/static/" => "访问 1 年", "/static/images/" => "访问 1 年")

这似乎适用于生活在 /static 中的 js 和 css。

但这不适用于图像文件 - 浏览器似乎仍然一遍又一遍地请求它们,收到“304 Not Modified”响应。

帮助任何人?

相关资料:

0 投票
1 回答
1903 浏览

apache2 - 如何向 Flash 和 Icon 组件添加 Expires

Yslow 目前为我的网站和“添加过期标题”提供 B 级。

它说:

有 1 个静态组件没有遥远的到期日期。

我的 apache.conf 中的当前 Expires 代码是这样的:

那么 flash 和 icon 组件的语法应该是什么?

即使没有为 flash 显示 Yslow,我也想为 flash 组件添加 Expires。

任何人都可以帮助我完成这项任务吗?

0 投票
1 回答
2898 浏览

apache - Set-Cookie 和 Expires 标头不同

我正在尝试按照 YSlow 的建议为图像启用 Expires 标头。我确定我以前有这个工作,但现在当我检查 YSlow 时,它说它们没有被缓存。

对于我的 .htaccess,我尝试过:

http://www.seoconsultants.com/tools/headers.asp为我的一张图片输出以下内容:

Set-Cookie 部分看起来正确,但 Expires 标头不正确。如何正确设置 Expires 以及它们为什么不同?我已经仔细检查了 mod_expires 和 mod_headers 是否已启用。

0 投票
2 回答
14890 浏览

.htaccess - 为特定图像添加过期标头

我看过的所有过期标题文章都或多或少地提供了以下解决方案:

但这对我来说没有意义,因为我知道我的哪些图像会改变,哪些不会,所以我希望能够为特定的图像文件添加特定的到期日期。我该怎么办?

0 投票
1 回答
565 浏览

.htaccess - .htaccess 用于压缩、浏览器缓存、代理缓存等

有人可以为我提供一个优化的 .htaccess 配置来处理典型网站的压缩、浏览器缓存、代理缓存等吗?

除了我的访问者之外,我还试图让 Google PageSpeed 开心。

0 投票
2 回答
328 浏览

performance - expires 标头说明

我有一个在 Apache 上运行的 joomla 应用程序。为了提高站点性能,我们已经将一个 .htaccess 文件写入应用程序的根目录,并为所有静态内容设置了一个远期过期标头。根据需要,文件第一次以 200 状态代码重新加载。当再次单击同一链接时,许多文件直接从缓存中提供。我需要解释两件事

  1. 当我按 f5 时,会加载一些带有 304 状态代码的文件,但是我希望它们直接来自缓存,而不需要访问服务器以获取状态标头?

  2. 当我关闭浏览器并再次返回同一页面时,我看到同样的事情发生了许多文件加载 304 状态代码,尽管我认为它们会直接从浏览器缓存加载?

我知道 304 也从浏览器缓存中提供文件,但我想避免服务器之间的标头通信,因为我的静态文件永远不会改变。另外我想补充一点,我的请求是通过 https 连接进行的,这是否会产生任何问题。