最近遇到一件糟心事儿,运营线下推广用的物理中的二维码是很早以前的下载APP的URL,这个下载地址打开后直接跳转到腾讯应用宝;后来咱们须要修改跳转的地址,发布上线后,页面打开仍是跳转到老地址,怎么弄都不生效,只有新用户才能正常使用。html
第一直觉就怀疑是缓存的问题,可是咱们抓吧却发现,打开下载地址根本抓不到下载地址的HTML包,只能抓到腾讯应用宝的地址。浏览器
这也就是说虽然我打开的是A连接,可是浏览器根本就没有跳转到A连接,而是直接跳转到了应用宝。缓存
后来多方查询才知道,问题的缘由是由于这个页面以前是直接跳转到应用宝的,浏览器缓存了这个301重定向,后续的打开其实没有打开下载地址,而是直接使用缓存的重定向跳转到应用宝。服务器
每一个浏览器对重定向的缓存时长都不同markdown
咱们能够对必要的HTML页面禁用缓存,如何完美滴使浏览器访问一个 HTML页面时禁用缓存?ui
能够在Head中使用mete标签来禁用缓存:spa
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> <meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Expires" content="0" /> 复制代码
no-cache 表示不缓存过时资源,缓存会向服务器进行有效处理确认以后处理资源,即 304code
no-store 才是真正的不进行缓存。orm