转载的,那个页面让关了,,没标明请谅解。

HTTP协议的Cache -Control指定请求和响应遵循的缓存机制。
在请求消息或响应消息中设置 Cache-Control并不会影响另一个消息处理过程中的缓存处理过程。
请求时的缓存指令包括no-cache、no-store、max-age、 max-stale、min-fresh、only-if-cached等。
响应消息中的指令包括public、private、no-cache、no- store、no-transform、must-revalidate、proxy-revalidate、max-age。

浏览器中关于Cache的3属性:

Cache-Control:

设置相对过期时间, max-age指明以秒为单位的缓存时间. 若对静态资源只缓存一次, 可以设置max-age的值为315360000000 (一万年).

Http协议的cache-control的常见取值及其组合释义:

no-cache: 数据内容不能被缓存, 每次请求都重新访问服务器, 若有max-age, 则缓存期间不访问服务器.

no-store: 不仅不能缓存, 连暂存也不可以(即: 临时文件夹中不能暂存该资源)

private(默认): 只能在浏览器中缓存, 只有在第一次请求的时候才访问服务器, 若有max-age, 则缓存期间不访问服务器.

public: 可以被任何缓存区缓存, 如: 浏览器、服务器、代理服务器等

max-age: 相对过期时间, 即以秒为单位的缓存时间.

no-cache, private: 打开新窗口时候重新访问服务器, 若设置max-age, 则缓存期间不访问服务器.

private, 正数的max-age: 后退时候不会访问服务器

no-cache, 正数的max-age: 后退时会访问服务器

点击刷新: 无论如何都会访问服务器.

Expires:

设置以分钟为单位的绝对过期时间, 优先级比Cache-Control低, 同时设置Expires和Cache-Control则后者生效.

Last-Modified:

该资源的最后修改时间, 在浏览器下一次请求资源时, 浏览器将先发送一个请求到服务器上, 并附上If-Unmodified-Since头来说明浏览器所缓存资源的最后修改时间, 如果服务器发现没有修改, 则直接返回304(Not Modified)回应信息给浏览器(内容很少), 如果服务器对比时间发现修改了, 则照常返回所请求的资源.

注意:

Last-Modified属性通常和Expires或Cache-Control属性配合使用, 因为即使浏览器设置缓存, 当用户点击”刷新”按钮时, 浏览器会忽略缓存继续向服务器发送请求, 这时Last-Modified将能够很好的减小回应开销.

ETag将返回给浏览器一个资源ID, 如果有了新版本则正常发送并附上新ID, 否则返回304, 但是在服务器集群情况下, 每个服务器将返回不同的ID, 因此不建议使用ETag.

以上描述的客户端浏览器缓存是指存储位置在客户端浏览器, 但是对客户端浏览器缓存的实际设置工作是在服务器上的资源中完成的. 虽然刚才我们介绍了有关于客户端浏览器缓存的属性, 但是实际上对这些属性的设置工作都需要在服务器的资源中做设置. 我们有两种操作手段对浏览器缓存进行设置, 一个是通过页面指令声明来设置, 另外一个是通过编程方式来设置.

Nginx的ngx_http_headers_module模块可以对Cache-Control头相关的东西进行配置
例如:
    # 相关页面设置Cache-Control头信息
    例一:
   if ($request_uri ~* "^/$|^/search/.+/|^/company/.+/") {
     add_header    Cache-Control  max-age=3600;
    }

例二:

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

例三:
location ~ .*\.(js|css)$ {expires 10d;}

转载于:https://www.cnblogs.com/guxiaobei/p/8287763.html

NGINX下配置CACHE-CONTROL相关推荐

  1. ecshop nginx php-fpm,ecshop在nginx下配置常见问题

    我们前面讲述了nginx安装和配置,知道如何将ecshop建立在linux环境下的nginx上.但是为了让ecshop能更好的在nginx下跑出性能.我们必须对ecshop以及nginx的配置做出调整 ...

  2. 360 nginx+php,nginx下配置thinkphp文件的方法

    在上篇文章给大家介绍了在Nginx上部署ThinkPHP项目教程,今天给大家介绍nginx下thinkphp的配置,具体详解如下: ## domain redirect #if ($host != & ...

  3. 【高效运维】Nginx下配置WS、WSS

    目录 一.WS 和 WSS 的区别 二.Nginx 下配置 WS 三.Nginx 下配置 WSS 一.WS 和 WSS 的区别 WebSocket 协议是 html5 的一种通信协议,可以使客户端和服 ...

  4. 如何在nginx下配置网关,实现跨域请求

    1.在nginx下配置网关,实现跨域请求 ​ 首先进入虚拟机,打开nginx,开机自启命令 docker update nginx --restart=always 进入nginx下的conf目录下 ...

  5. Nginx下配置Comodo Essential SSL证书

    Nginx下配置Comodo Essential SSL证书 Comodo 官网:http://www.comodo.cn/ Comodo 证书官网: http://www.instantssl.cn ...

  6. Nginx下配置Http Basic Auth保护目录

    博客已经搬家,请访问如下地址:http://www.czhphp.com Nginx下的配置也挺方便的,我们可以沿用由Apache的htpasswd模块生成的.htpasswd文件作为密码文件.注意, ...

  7. nginx 下配置使用Thinkphp5解决跨目录活动并且设置网站根目录

    由于TP5框架的一些特性规则,在nginx下导致跨目录的一些访问不能执行 最开始我尝试配置文件夹目录,导致出现各种奇葩错误,然后搜了以下资料发现原来只要简单的修改几个配置文件即可. 声明系统环境: * ...

  8. Nginx下配置小绿锁https

    我用的是阿里云服务器,centos7.2的操作系统,服务器类型:nginx/1.12.1 这是github上的官方配置https://github.com/Neilpang/acme.sh/wiki/ ...

  9. [Linux]阿里云万网域名-腾讯云服务器nginx下配置免费的https

    我的域名是在阿里云万网上购买的,服务器是部署在腾讯云上,可以按照下面的步骤配置https 首先登陆阿里云网站控制台,申请免费证书,免费证书只能单一域名.测试地址如:https://gofly.sopa ...

最新文章

  1. 【性能优化】面试官:Java中的对象和数组都是在堆上分配的吗?
  2. CCNA和四级网工的对比
  3. 台达变频器s1参数设置_【智】台达变频器计数输入功能接线和参数设置详解
  4. 程序的格式框架语法元素的名称(Python)
  5. SQL Server 2005两本教程案例数据库
  6. Python学习之路:函数参数及调用
  7. 东莞 小学计算机编程大赛,关于举办第二十一届东莞市中小学电脑制作活动的通知...
  8. 案例解读:Oracle目录由于TFA触发bug导致jdb文件未自动清理引起空间不足
  9. [hadoop新实战4]hadoop完全分布式安装序列(支持ubuntu和redhat)
  10. java设计模式(2) - 结构型模式
  11. Linux下如何关闭命令行正在执行的程序或命令
  12. 88个塑胶模具设计中常用的知识点
  13. python调用讯飞付费版语音转写
  14. python matrix用法_numpy中matrix使用方法
  15. 初学linux用哪个发行版本,初学者学习Linux选择哪个发行版本合适?
  16. DAS Over FC 技术允许 ATTO 分解存储并完成 vSAN 认证套件
  17. powerbuilder建数据库
  18. 肿瘤患者,要牢记这四大饮食原则
  19. Seq2Seq模型中的集束搜索(Beam Search)
  20. 项目组长成长记(一)

热门文章

  1. 千万级大表如何更快速的创建索引_分享一份生产环境mysql数据库大表归档方案,值得收藏...
  2. php处理base64数据,php基于base64解码数据与图片的转换
  3. 苹果忘记开机密码_苹果电脑忘记开机密码快速恢复的方法!
  4. c语言作业题五六章答案,数据结构(C语言版)第五六章习题答案
  5. python ftplib_python:使用ftplib编写FTP客户端
  6. python输出字体的大小_Python密码学编程:文件的加密与解密
  7. Chapter1-4_Speech_Recognition(HMM)
  8. LeetCode 2035. 将数组分成两个数组并最小化数组和的差(状态压缩DP)
  9. LeetCode 258. 各位相加
  10. 剑指Offer - 面试题3. 数组中重复的数字(哈希)