纯净、安全、绿色的下载网站

首页|软件分类|下载排行|最新软件|IT学院

当前位置:首页IT学院IT技术

Nginx缓存设置 Nginx缓存设置案例详解

多纤果冻   2021-09-11 我要评论
想了解Nginx缓存设置案例详解的相关内容吗多纤果冻在本文为您仔细讲解Nginx缓存设置的相关知识和一些Code实例欢迎阅读和指正我们先划重点:nginx缓存设置,nginx缓存设置讲解下面大家一起来学习吧

在开发调试web的时候经常会碰到因浏览器缓存(cache)而经常要去清空缓存或者强制刷新来测试的烦恼提供下apache不缓存配置和nginx不缓存配置的设置在常用的缓存设置里面有两种方式都是使用add_header来设置:分别为Cache-Control和Pragma

nginx:
location ~ .*\.(css|js|swf|php|htm|html )$ {
add_header Cache-Control no-store;add_header Pragma no-cache;
}

对于站点中不经常修改的静态内容(如图片JSCSS)可以在服务器中设置expires过期时间控制浏览器缓存达到有效减小带宽流量降低服务器压力的目的

以Nginx服务器为例:

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
#过期时间为30天
#图片文件不怎么更新过期可以设大一点
#如果频繁更新则可以设置得小一点
expires 30d;
}
location ~ .*\.(js|css)$ {
expires 10d;
}

背景】:Expires是Web服务器响应消息头字段在响应http请求时告诉浏览器在过期时间前浏览器可以直接从浏览器缓存取数据而无需再次请求

相关资料

1、Cache-control策略

Cache-Control与Expires的作用一致都是指明当前资源的有效期控制浏览器是否直接从浏览器缓存取数据还是重新发请求到服务器取数据只不过Cache-Control的选择更多设置更细致如果同时设置的话其优先级高于Expires

http协议头Cache-Control

值可以是public、private、no-cache、no- store、no-transform、must-revalidate、proxy-revalidate、max-age

各个消息中的指令含义如下:

  • Public指示响应可被任何缓存区缓存
  • Private指示对于单个用户的整个或部分响应消息不能被共享缓存处理这允许服务器仅仅描述当用户的部分响应消息此响应消息对于其他用户的请求无效
  • no-cache指示请求或响应消息不能缓存
  • no-store用于防止重要的信息被无意的发布在请求消息中发送将使得请求和响应消息都不使用缓存
  • max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应
  • min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应
  • max-stale指示客户机可以接收超出超时期间的响应消息如果指定max-stale消息的值那么客户机可以接收超出超时期指定值之内的响应消息

Last-Modified/If-Modified-Since

  • Last-Modified/If-Modified-Since要配合Cache-Control使用
  • Last-Modified:标示这个响应资源的最后修改时间web服务器在响应请求时告诉浏览器资源的最后修改时间
  • If-Modified-Since:当资源过期时(使用Cache-Control标识的max-age)发现资源具有Last-Modified声明则再次向web服务器请求时带上头 If-Modified-Since表示请求时间web服务器收到请求后发现有头If-Modified-Since 则与被请求资源的最后修改时间进行比对若最后修改时间较新说明资源又被改动过则响应整片资源内容(写在响应消息包体内)HTTP 200;若最后修改时间较旧说明资源无新修改则响应HTTP 304 (无需包体节省浏览)告知浏览器继续使用所保存的cache

其最终达到的就是等效于设置这三类html缓存技术:

<meta http-equiv="pragma" content="no-cache"/>
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate"/> 
<meta http-equiv="expires" content="0"/>

相关文章

猜您喜欢

  • nacos gateway动态路由 nacos gateway动态路由实战

    想了解nacos gateway动态路由实战的相关内容吗Insist_on_progress在本文为您仔细讲解nacos gateway动态路由的相关知识和一些Code实例欢迎阅读和指正我们先划重点:nacos,gateway,动态路由下面大家一起来学习吧..
  • nacos动态路由配置 关于springboot中nacos动态路由的配置

    想了解关于springboot中nacos动态路由的配置的相关内容吗Spring王不正在本文为您仔细讲解nacos动态路由配置的相关知识和一些Code实例欢迎阅读和指正我们先划重点:springboot配置,nacos动态路由,nacos配置下面大家一起来学习吧..

网友评论

Copyright 2020 www.sopisoft.net 【绿软下载站】 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 点此查看联系方式