立即刷新Chrome浏览器缓存的方法

本文出处:http://blog.csdn.net/chaijunkun/article/details/53690305,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。

笔者平时做一些web项目,在开发时非常喜欢使用Chrome浏览器。启动速度快、对CSS、JS标准化的支持和方便的F12工具成为了不二的调试工具。

我的开发方案是将各个不同的环境设置为不同的域名,如下表所示:

环境名称主机地址域名
本地调试127.0.0.1test.biz.domain.com
测试机联调10.168.10.24test.biz.domain.com
线上环境DNS解析biz.domain.com

面临的问题

这种方案经常带来的问题:当我手动修改c:\windows\system32\drivers\etc\hosts或者/etc/hosts,尝试切换本地调试和测试机联调环境时经常出现Chrome无法立即生效的情况,请求会依旧打到之前的环境中。当然早期有一种土办法:重启Chrome。如果你当前浏览器中打开了好多网页,而且都暂时不能关时,你会很抓狂。后来通过查阅资料,只需要对Chrome相关的缓存清除掉即可,百试不爽:

清除套接字缓存

在Chrome中打开地址:

chrome://net-internals/#sockets

看到类似如下界面:
清除套接字缓存界面
分别点击第一个Close idle sockets(关闭空闲套接字)和第二个Flush socket pools(清空套接字池)

清除DNS缓存

在Chrome中打开如下地址:

chrome://net-internals/#dns

看到类似如下界面:
清除DNS缓存

点击Clear host cache(清除主机缓存)。此时再次刷新想要调试的页面,请求将按照最新的hosts配置进行发送。

清除强制使用HTTPS缓存

在某些线上业务系统中,会强制使用HTTPS协议。假设有一业务系统:

https://account.xxx.com

会在响应头增加如下配置:

Strict-Transport-Security: max-age=31536000; includeSubDomains

即表示:告诉浏览器,在接下来的31536000秒内(1年),对于当前域名及其子域名的后续通信应该强制性的只使用HTTPS,直到超过有效期为止。即:使用HSTS(HTTP Strict Transport Security)。

此时,你要使用该系统的测试环境。其域名与线上一致(设置了host),但测试环境不支持HTTPS。当你试图在地址栏直接输入如下地址时:

http://account.xxx.com

系统会自动跳转到HTTPS协议下,然后就提示无法连接等问题。

粗暴的解决办法就是清除浏览器缓存。有没有更优雅的办法呢?你可以在Chrome中打开如下地址:

chrome://net-internals/#hsts

在最后找到“Delete domain security policies”,输入要禁止跳转回https的域名后,点击“Delete”即可。如下图所示:
清除HSTS
参考资料:https://blog.csdn.net/u014311799/article/details/79037717

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值