亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Web 站點的緩存問題

標簽:
Html/CSS

现在很多站点和项目开始使用前后端分离的架构,通常我们前端的产物为 HTML、JS和CSS,这些文件我们会部署到 WebService 或者 CDN,当然常用的 WebService 有 Nginx、IIS、Tomcat,这些 Web 容器通常会对静态文件做一些缓存设置,导致我们发布的站点用户看不到最新的更新。说说这种静态资源的站点的缓存问题如何解决。

Last Modify 浏览器端缓存

通常我们会对服务器设置这种缓存,当文件的最后修改事件发生改变后,通知浏览器清除原文件的缓存用新的文件。当然这种缓存有时候不好使。

HTML 的缓存问题(Expires)

HTML 是整个站点的结构和模版,通常我们希望它修改后浏览器端就随之更新,但是有一些运营商会对这些静态文件做一些不必要的优化,让 HTML 文件缓存起来,于是我们经常会对 HTML 的 Expires 设置为 0,这样让它始终获取最新的 HTML。

HTML 引用内部 JS、CSS 的缓存

通过自动化工具清除缓存,每次构建的时候对这些文件进行 MD5,然后通过 MD5 的值给文件重命名(同时修改所有对这个文件的引用),这样一来如果文件修改后,他的文件名也会随之修改,缓存自然不存在了。

DNS 缓存问题

这个问题通常是弹性负载均衡导致的,WebService 在请求后端接口时通过 HTTP 去访问一个 URL 地址(访问地址的过程中会对预警进行 DNS 解析),WebService 通常会对请求进行优化,DNS 解析的 IP 会缓存起来下次请求同样的域名就不需要浪费解析的时间了;但是弹性的负载均衡域名后面的 IP 经常会改变,会导致被缓存的 IP 无法访问 。如果是 Nginx WebService 可以这样设置:http://tenzer.dk/nginx-with-dynamic-upstreams/





點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
Web前端工程師
手記
粉絲
12
獲贊與收藏
135

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消