裂缝的瓶

枯萎了插着的马鞭草,
扇子一下碰伤了花瓶;
只不过刚好轻轻触着,
并没有响出一点声音。

但那条细微的裂痕,
每天都在蚀着玻瓶,
虽不现形迹,而是准定
慢慢地在逐渐延伸。

清水流出一点一滴,
鲜花的生命便枯竭;
再也没有谁会怀疑,
不要触动,玻瓶已发裂。

往住也是相爱的手,
轻轻一触便伤着了心;
裂开了缝隙在心头,
爱情的花儿便凋零。

眼里看不出什么损伤,
可感觉它细而深的缝,
暗暗在低泣,在增长,
心儿已发裂,不要触动。

---- 普吕多姆(Sully Prudhomme)诗选

2021/05/18 posted in  碎碎念

nginx控制浏览器不缓存文件(文件过期时间)

Nginx 缓存配置 expires 和 add_header Cache-Control 的总结

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
expires 30d;
access_log off; //配置不记录到日志
}
location ~ .*\.(js|css)?$ {
add_header Cache-Control no-cache;
add_header Cache-Control private;
expires -1;

如果expires 和 add_header 同时开启的情况下,则add_header优于expires生效;

所以使用过期时间属性一定要确认你的Web服务器时间设置正确,一个途径是通过网络时间同步协议(Network Time Protocol NTP)。
Expires/Cache-Control Header是控制浏览器是否直接从浏览器缓存取数据还是重新发请求到服务器取数据。只是Cache-Control比Expires可以控制的多一些, 而且Cache-Control会重写Expires的规则。
Last-Modified/If-Modified-Since和ETag/If-None-Match是浏览器发送请求到服务器后判断文件是否 已经修改过,如果没有修改过就只发送一个304回给浏览器,告诉浏览器直接从自己本地的缓存取数据;如果修改过那就整个数据重新发给浏览器。

我这里一直没有成功,因为我们的js文件通过资源域名调用,我一直在访问域名配置。
最后切换成资源域名,配置成功。

2021/05/11 posted in  碎碎念