Nginx与浏览器缓存的处理方法-创新互联
一、浏览器对缓存的处理:Internet选项
创新互联-专业网站定制、快速模板网站建设、高性价比武定网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式武定网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖武定地区。费用合理售后完善,十余年实体公司更值得信赖。★ 控制请求服务器策略:是忽略资源的缓存策略的情况下额外强制请求服务器的意思。
★ 检查存储的页面较新版本
1.每次访问网页时
不管是否有缓存、资源状态是否过期,都会再次请求服务器。
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。而节点只针对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; }
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文标题:Nginx与浏览器缓存的处理方法-创新互联
链接分享:http://scyanting.com/article/pcpsc.html