apache - apache htaccess 中的 mod_expires

标签 apache http .htaccess caching

我正在学习 Apache 及其各种模块,目前我对 mod_expires 感到困惑。到目前为止我读到的是使用这个模块我们可以为静态文件设置 future 的到期 header ,这样浏览器就不需要每次都请求它们。

我很困惑,如果有人更改 css/js 或两者之间的任何图像文件,浏览器将如何知道它,因为我们已经告诉浏览器这不会改变,比如下一个 1年。

提前致谢

最佳答案

可能无法在您的 HTTP 服务器上提供所有内容,但您可以简单地更改文件的名称以从服务器更新客户端的文件。届时,浏览器将下载新内容。

有时,对于流量较少的网站,将缓存设置为低得多的值会更有效。

应始终谨慎使用 365 天的到期期限,您可以将到期期限设置为 1 年这一事实并不意味着您必须始终这样做。换句话说,不要成为过早优化的牺牲品。

将缓存过期设置为 1 年的一个很好的例子是国家的旗帜,它们不太可能改变。另外请注意,通过简单的浏览器刷新页面,客户端可以丢弃本地缓存并从源重新下载内容。

测试所有这些的一个好而简单的方法是使用带有 Firebug 的 Firefox .使用此扩展程序,您可以分析请求和响应。

在这里您可以找到 RFC规范。

关于apache - apache htaccess 中的 mod_expires,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9343610/

相关文章:

apache - 如何*防止* Apache2 设置 Content-Type header ?

http - 更换证书后出现 NET::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN 错误

http - 如何将 HTTP 请求传递给 Web 框架?

php - Mod_rewrite,试图排除图像和 css 文件

linux - 无法启动httpd服务器: Address already in use

php - 如何预测系统资源需求?

php - CakePHP 缓存无法在 Centos 7 中写入

java - 在使用原始表单数据的网站上填写登录表单

apache - 如何只允许一个用户代理访问.htaccess?

php - 通过 mysql 数据库重定向多个 url?