网站静态文件缓存

静态文件缓存

用户通过浏览器访问网站时,可以通过浏览器缓存静态文件,达到节省带宽和流量、加快网页响应的作用。
通过设置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()) 

猜你喜欢

转载自blog.csdn.net/u010098544/article/details/80736141
今日推荐