这篇文章主要介绍了Nginx与浏览器缓存的处理方法,非常不错,具有参考借鉴价值,需要的朋友参考下吧

一、浏览器对缓存的处理:Internet选项

★ 控制请求服务器策略:是忽略资源的缓存策略的情况下额外强制请求服务器的意思。

  ★ 检查存储的页面较新版本

  2.每次启动Internet Explorer时
    不管是否有缓存、资源状态是否过期,都会再次请求服务器。
    3.自动
   大体上和2是一样的,只是对于图片的策略有点不同。
  4.从不
    完全按照资源的缓存策略来请求服务器。

★ F5 刷新:请求服务端,但是会根据和服务器对比文件来确定是否下载

★ Ctrl + F5刷新:一定会去服务器下载。

二、缓存控制策略

★Last-Modified/If-Modified-Since要配合Cache-Control使用,Etag/If-None-Match也要配合Cache-Control使用。

    ps: 分布式系统里多台机器间文件的last-modified必须保持一致,以免负载均衡到不同机器导致比对失败

   分布式系统尽量关闭掉Etag(每台机器生成的etag都会不一样)

★HTML通过meta的http-equiv属性控制浏览器缓存策略:通过设置Pragma和Cache-control和expires控制

ps:只能控制html的缓存策略,不能控制css/js/图片的缓存策略。

Cache-control的max-age和expires同时存在,那么先处理max-age。
    Cache-control指定了no-cache后,max-age和expires。
    Pragma: http 1.0 IE浏览器才识别,请求头中不会体现,但是确实有效果
    Cache-control: http 1.1

三、Nginx设置浏览器缓存

  ★Nginx设置浏览器缓存:可以在http 、server、location节点中添加。可以设置各种资源的缓存策略,不仅仅是HTML。而<meta http-equiv>节点只针对HTML

#add_header Cache-Control no-cache;
  #add_header Cache-Control private;
  add_header Cache-Control max-age=7200;
  if ($request_filename ~* ^.*?\.(ico|jpeg|gif|jpg|png|woff)$){
    expires 7d;
  }
  if ($request_filename ~* ^.*?\.(js|css)$){
    expires 7d;
  } 
  if ($request_filename ~* ^.*?\.(html|htm)$){
    expires 3d;
  }

★Nginx中的配置会覆盖HTML的http-equiv="Cache-control"配置。

 但是如果HTML中的加了下面3个标签,浏览器端效果还是只能no-cache。(从效果上来看:Nginx的Cache-control配置无效)

  因为Nginx的Cache-control配置只是覆盖了Cache-control(如果html加的是后面两个标签,Nginx还是有效的),而Pragma仍然起着作用。

  <meta http-equiv="Pragma" content="no-cache"/> 
    <meta http-equiv="Cache-control" content="no-cache;max-age=0"/> 
    <meta http-equiv="expires" content="0"/>

总结

以上所述是小编给大家介绍的Nginx与浏览器缓存的处理方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对爱安网网站的支持!

    无相关信息
最新资讯
电视购物全面式微:有主播曾月入20万,如今转战直播难糊口

电视购物全面式微:有主

80%的人都开始转做直播或者短视频。
新冠肺炎重症患者深静脉血栓发生率超80%

新冠肺炎重症患者深静

武汉大学中南医院通过对48例新冠肺炎危重患者进行下肢
发现火星生命或将揭晓地球生命起源之谜

发现火星生命或将揭晓

科学家希望通过研究该陨坑北部边缘的远古碳酸盐岩,尽可
瑞幸迷局 宫斗怎么成了重头戏?

瑞幸迷局 宫斗怎么成

一场旨在将陆正耀赶出董事会的狙击战,以反对者的暂时失
小电科技拟创业板上市:腾讯持股约10% 或成共享充电宝第一股

小电科技拟创业板上市

腾讯持有9.66%的股份,为最大机构股东。
携号转网乱局,几时才能休?

携号转网乱局,几时才能

携号转网政策的全面实施,给广大“受够了”的人民群众提
最新文章
linux中批量添加文件前缀的操作方法

linux中批量添加文件

这篇文章主要介绍了linux中批量添加文件前缀的操作方
Linux安装与卸载Tomcat8的详细图文教程

Linux安装与卸载Tomca

这篇文章主要介绍了Linux安装与卸载Tomcat8的详细图文
Linux bridge桥接两个VirtualBox虚拟网络的方法步骤

Linux bridge桥接两个

这篇文章主要介绍了Linux bridge桥接两个VirtualBox虚
在 awk 中使用循环

在 awk 中使用循环

awk 脚本有三个主要部分:BEGIN 和 END 函数(都可选),用户
Linux tee命令使用详解

Linux tee命令使用详

这篇文章主要介绍了Linux tee命令使用详解,文中通过示
docker 使用mysqldump命令备份导出项目中的mysql数据

docker 使用mysqldump

这篇文章主要介绍了docker 使用mysqldump命令备份导出