用户通过浏览器访问网站时,可以通过浏览器缓存静态文件,达到节省带宽和流量、加快网页响应的作用。
通过设置Http头中的Cache-Control和Expires, 可以设置浏览器缓存。
# nginx 配置方法1 location ~ ^/(static)/ { access_log off; expires 30d; } # nginx 配置方法2 location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 365d; } 在网站开发中,静态文件缓存导致修改后静态文件无法及时刷新,可以在静态文件后追加时间戳,即每次都想服务器请求静态资源文件。
但时间戳将导致生产环境的缓存失效,所以可以根据环境区别是否加时间戳。
下面给出Django的伪代码实现:
<link rel="stylesheet" href="{{ '/style/test.css'|file_stamp }}"> def file_stamp(value, arg=None): if PRODUCTION == False: return "%s?t=%s" % (value, time()) else: return "%s?v=%s" % (value, get_web_version()) 文章来源: 网站静态文件缓存