mod_expires的正确缓存指令语法是什么?

时间:2015-09-08 12:34:21

标签: apache .htaccess caching

我们正在考虑在.htaccess文件中使用以下缓存指令

ExpiresByType text/html "access"

这是有效的语法吗?这是什么意思?

我的不足(以及4个主要浏览器中的测试表明)当客户端访问HTML文件时,它将保留在其缓存中并从其缓存中提取,直到我们修改我们服务器上的HTML文件,此时客户端将从我们的服务器提取文件并使用修改/更新的副本。

mod_expires的apache文档清楚地显示了其他参数是可选的。

1 个答案:

答案 0 :(得分:1)

  

ExpiresByType text/html "access"

嗯,它是“有效的”,但这有效地立即使缓存失效(除非有另一个缓存机制 - 见下文)。

ExpiresByType指令只控制ExpiresCache-Control: max-age标头。上述指令导致Expires标头设置为 now (当前时间)和max-age: 0 - 换言之,缓存时间。

  

当客户端访问HTML文件时,它将保留在其缓存中并从其缓存中提取,直到我们修改服务器上的HTML文件

这与ExpiresByType指令(如上所述)无关,该指令明确指出“访问”,而不是“修改”。

您可能看到的是Last-Modified(响应)标头和If-Modified-Since(请求)标头的缓存,但这是完全独立的,不受mod_expires控制。