给网站的Nginx配置加入Cache-Control “public” - 技术宅银魂 - 科技改变生活 - 万事屋 | 生活·动漫·娱乐综合社区-银魂同好聚集地

给网站的Nginx配置加入Cache-Control “public”

有些需求,所以加了这个在Nginx单独网站配置文件里。

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|webp)$
    {
        expires      30d;
        add_header Cache-Control “public”;
        error_log /dev/null;
        access_log /dev/null;
    }

    location ~ .*\.(js|css)?$
    {
        expires      7d;
        add_header Cache-Control “public”;
        error_log /dev/null;
        access_log /dev/null;

在 Nginx 的配置文件中加入 add_header Cache-Control "public"; 的作用是告诉浏览器和其他缓存代理(如 CDN)如何缓存响应的内容。具体来讲:

  • Cache-Control 是HTTP头部的一个指令,用来控制HTTP缓存的行为。
  • public 表示响应可以被任何缓存(浏览器缓存、CDN等)存储,即使是私人内容也可以被缓存。

具体意义:

  1. 更快的加载速度:浏览器或CDN可以从缓存中快速获取资源,减少服务器负担,提高页面加载速度。
  2. 节省带宽:缓存内容可以减少对服务器的请求,从而节省带宽和资源。
  3. 效率:对静态资源(如图片、CSS、JavaScript等)使用 public 缓存策略会提高整体用户体验,用户不必每次访问都向服务器请求相同的资源。

使用场景:

  • 对于一些不常更改的静态资源,设置为公共缓存可以有效利用缓存机制。
  • 若资源内容频繁变化,需要考虑使用其他的Cache-Control指令,例如 no-cachemax-age 等,来控制缓存失效时间和更新策略。

注意事项:

  • 在设置 Cache-Control 时,要确保理解该资源的更新频率以及用户对缓存的需求,以避免过时内容的展示。
  • 确保合理配置的 Cache-Control 头部,能与其他可能存在的缓存策略(如 ETag、Last-Modified)共同工作。

总之,合理地设置 Cache-Control 可以显著提高网站性能和用户体验。

请登录后发表评论

    没有回复内容

万事屋新帖