总结:
配置静态文件过期时间
访问日志时候我们发现,当第一次请求静态图片过后,第二次请求的时候就不再记录图片相关的日志了,这还是在没有屏蔽 静态图片记录 的情况下就有发生的,这时需要 ctrl + F5强制刷新 以后才重新记录关于图片的日志。
这是因为浏览器本身有缓存图片的功能,目的是节省带宽。因为每次请求都要重新去服务端传图片对于用户和服务端都是不利的。
但这样有一个问题,
当服务端更新了图片,而客户端不知道还保存着以前的缓存,导致一直没有更新到新的图片。
因此需设置一个缓存图片过期时间,让图片有一个时效性,当时间到期了,浏览器会自动去服务器重新请求图片。
curl -I 查看一个网页上的headers信息,header包含了图片的缓存信息。
Cache – Control : max-age = XXXX 这个就是缓存最大时间数, 单位:秒(S)
可以yum装一个计算器bc算一下
先输入bc激活计算器
再输入需要运算的式子 2592000/3600/24
自动得出结果 30
试一下之前bbs上的图片,但因为Linux系统还没有绑定hosts会显示错误:could not resolve host
这里要么去添加进hosts文件,要么需要添加准确的 -x主机IP:端口 访问。
curl –x127.0.0.1:80 -I www.aminglinux.cc
之前没设置过缓存时限的是没有Cache – Control : max-age 这一项的。
设置缓存过期时限是在 nginx 虚拟机配置文件里:/etc/nginx/conf.d/ XXXXX.conf
expires XX;
XX 写1d 就是 1天, 1h 就是 1 小时 ,1m就是1分钟
expires英语:有效期,到期
(小技巧,可以用 !curl 命令 ,这样系统会自动找到最近执行过的curl命令去执行)
配置完重新curl查看:
max-age=86400 就是一天的秒数