如何让浏览器将JavaScript 文件、CSS 文件、图像等 缓存到本地磁盘上的“磁盘缓存”中
时间: 2023-12-14 17:40:07 浏览: 113
浏览器会自动将 JavaScript 文件、CSS 文件、图像等缓存到本地磁盘上的“磁盘缓存”中,以便下次访问同一页面时可以更快地加载资源。但是,可以通过设置 HTTP 响应头来控制浏览器缓存的行为。
以下是一些常用的 HTTP 响应头:
1. Cache-Control:指定缓存策略,如 no-cache、max-age 等。
2. Expires:指定过期时间,如 Expires: Fri, 30 Oct 2020 14:19:41 GMT。
3. ETag:指定资源的唯一标识符,用于验证资源是否已经过期。
4. Last-Modified:指定资源的最后修改时间,用于验证资源是否已经过期。
具体的设置方法可以参考以下示例:
1. 对于静态资源,如 CSS 文件、JavaScript 文件、图像等,可以在服务器端设置缓存策略和过期时间。例如,在 Apache 服务器上,可以使用 .htaccess 文件来设置缓存策略和过期时间:
```
<FilesMatch "\.(css|js|png|jpg|jpeg|gif|ico)$">
Header set Cache-Control "max-age=86400, public"
Header set Expires "Thu, 01 Jan 2099 00:00:00 GMT"
</FilesMatch>
```
上述代码会将所有以 .css、.js、.png、.jpg、.jpeg、.gif、.ico 结尾的文件缓存一天,并且在 2099 年过期。
2. 对于动态资源,如 HTML 文件,可以在服务器端设置 HTTP 响应头来控制浏览器缓存。例如,在 PHP 中,可以使用以下代码来设置 HTTP 响应头:
```
header('Cache-Control: max-age=86400, public');
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 86400) . ' GMT');
```
上述代码会将当前页面缓存一天,并且在 24 小时后过期。
需要注意的是,缓存策略和过期时间的设置应该根据具体需求来确定,不应该过于激进,否则可能会导致缓存不起作用或者缓存时间过长而无法及时更新。
阅读全文