nginx 控制浏览器缓存

1. 再访问请求的时候,如果是一个页面,我们第一次访问的状态码是200,第二次可能就是304,304是什么状态呢,为什么会是这个状态呢?

image.png
image.png
image.png
image.png

2. 其实这就是浏览器的缓存,服务器会返回给浏览器一个的最后修改时间,第一次访问是正常的所以返回200,第二次访问发现文件修改时间是一致的没有修改,于是就直接从缓存中拿这个文件了,所以304表示使用的是缓存

原来对于静态资源来说:

  1. 当浏览器第一次发起请求时(请求头中没有If-Modified-Since),server会在响应中告诉浏览器这个资源最后修改的时间(响应头中的Last-Modified)。

  2. 浏览器也很聪明,当你再次(点击链接,或者F5,或者回车,但是不能是ctrl+F5)请求这个资源时,浏览器会询问server这个资源自上次告诉我的最后修改时间以来有没有被修改(请求头中If-Modified-Since)。

  3. 如果资源没有被修改,server返回304状态码,并不会再次将资源发送给浏览器,浏览器则很知趣的使用本地的缓存文件。

3. 在nginx中配置缓存信息

image.png

如图我们配置的是访问该静态文件的缓存失效时间。


image.png

设置完成之后在浏览器请求就会出现如图的信息。

4. expires @22h30m;表示每天的22点30分到期

5. expires -1h; 距离现在时间的一个小时之前就已经失效

6. expires epoch 不设置失效时间

7. expires off 代表nginx没有设置失效信息

8. expires max 代表永远不过期的设置

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容