美文网首页前端技术
Web 站点的缓存问题

Web 站点的缓存问题

作者: 一俢 | 来源:发表于2019-01-29 09:26 被阅读50次

现在很多站点和项目开始使用前后端分离的架构,通常我们前端的产物为 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/

相关文章

  • Web 站点的缓存问题

    现在很多站点和项目开始使用前后端分离的架构,通常我们前端的产物为 HTML、JS和CSS,这些文件我们会部署到 W...

  • [HTTP 学习笔记] HTTP缓存控制

    HTTP缓存控制 本文部分内容摘抄其他博客、文章,仅用于学习HTTP缓存控制如有错误,欢迎批评指正 对于Web站点...

  • 浏览器缓存策略

    最近在对项目做 IE 11 兼容,由 IE 的缓存问题,引发我对于浏览器缓存策略的思考。 缓存类型 web缓存主要...

  • Apache配置静态缓存

    老问题,什么是静态缓存?为什么配置静态缓存? 这里的静态文件指的是图片、 js、 css 等文件,用户访问一个站点...

  • <HTTP权威指南>读书笔记 ---- Web缓

    Web缓存 Web 缓存是可以自动保存常见文档副本的HTTP设备。当Web请求抵达缓存时,如果本地有“已缓存的”副...

  • Web缓存与策略

    Web缓存定义 Web缓存(或HTTP缓存)是用于临时存储(缓存)Web文档(如HTML页面和图像),以减少服务器...

  • selenium自动化操作之六:基于cookies绕过验证码登录

    cookies是储存在用户本地终端上的数据,可以叫做浏览器缓存。cookies可以帮助Web站点保存有关访问者的信...

  • Nginx 代理缓存

    Nginx的缓存可以简单分成web缓存和代理缓存,本篇文章主要介绍代理缓存。 web缓存 Nginx提供了expi...

  • 关于Web安全趋势与核心防御机制(转)

    一. WEB安全技术产生原因 早期:万维网(World Wide Web)仅有Web站点构成,这些站点基本上是包含...

  • HTTP缓存机制 & cookie/localStorage/s

    web缓存大致可以分为:数据库数据缓存、服务器端缓存(代理服务器缓存、CDN缓存)、浏览器端缓存、web应用层缓存...

网友评论

    本文标题:Web 站点的缓存问题

    本文链接:https://www.haomeiwen.com/subject/dgbtsqtx.html