大家好,如果您还对为什么修改Hosts不生效?是因为DNS缓存的原因吗?不太了解,没有关系,今天就由本站为大家分享为什么修改Hosts不生效?是因为DNS缓存的原因吗?的知识,包括的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
有人说重启浏览器就可以了。有人说清除缓存的DNS(chrome://net-internals/#DNS)就可以了。有人说只要开启隐私模式就可以了。有人说等一下……结果是进入隐私模式的还好,但是重启、清除缓存DNS、等一分钟的还是很挣扎。
上面提到的三个工具SwitchHosts/iHosts/Gas Mask,实际上只有iHosts有效(Mac下)。
在开发过程中,我们会无数次切换Host。如果不知道原理的话,我们在测试的时候还是会很害怕=_=||
修改Hosts不生效的根本原因
因为服务器设置了keep-alive!次要原因是浏览器DNS 缓存和系统DNS 缓存的存在。
Keep-Alive相关文档
服务器在响应头中设置Connection: keep-alive后(一般网页都会设置keep-alive以保持长连接,避免多次连接造成的网络消耗),客户端就会与服务器保持长连接。只要长连接不断开,页面的域名在请求过程中就不会被重新解析!
我们可以这样测试:
打开至少两分钟没有打开的浏览器(也可以关闭浏览器然后重新打开,记得关闭除当前选项卡之外的所有选项卡^_^) 在hosts中添加127.0.0.1 www。在taobao.com 上打开一个新选项卡,然后打开www.taobao.com。如果无法进入,请说明hosts修改已生效。注释掉刚才的hosts修改#127.0.0.1 www.taobao.com,然后打开www.taobao.com。很好,正常打开。这说明hosts修改也生效了。把注释去掉,127.0.0.1 www.taobao.com,然后打开www.taobao.com,还是可以访问的!此时,如果您再次尝试访问www.taobao.com,将无法进入!
为何一些修改可以让 “Hosts 生效”
1. 重启浏览器
重启浏览器后,所有连接(包括长连接)都会断开,自然生效。
2. 隐私模式打开
由于隐私模式下不重用TCP连接,当打开新连接时,会重新解析DNS域名,自然生效。
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/129641.html
用户评论
孤岛晴空
这篇文章讲解得真详细!我之前也遇到过这个问题总是卡在某个网站上,后来发现原来是我缓存没清理 😅
有6位网友表示赞同!
我绝版了i
我也是啊,修改hosts常常让我头疼😭 一直找不到原因,原来是DNS缓存问题!文章给的好解答,这下终于明白了!
有12位网友表示赞同!
青楼买醉
我的电脑就经常遇到这个问题,今天刚好解决了一个一样的问题。发现Hosts文件路径错误,检查好后生效了!
有13位网友表示赞同!
墨染殇雪
修改hosts文件不生效确实很郁闷!感觉自己好像学不会技术😂 这篇文章给的建议挺全面的,我会尝试一下,希望能解决我的问题。
有5位网友表示赞同!
鹿叹
我之前就怀疑是DNS缓存导致的,可是找不到合适的工具清除。幸好文章里推荐了一些软件,我试试吧!
有14位网友表示赞同!
微信名字
这篇文章讲解很清楚啊,以前每次修改hosts都蒙在鼓里,现在终于明白是怎么回事了!感谢作者分享这么好的知识!
有17位网友表示赞同!
◆残留德花瓣
说的对,DNS缓存确实会影响hosts文件生效。但感觉这篇文章内容还是偏多一点,可以再精简些,更容易理解。
有6位网友表示赞同!
别悲哀
我觉得啊,如果修改 hosts 文件后一直不生效,那除了清理 DNS 缓存之外,还需要考虑其他因素,比如防火墙的设置、系统配置等等…
有10位网友表示赞同!
拉扯
我每次都觉得hosts文件太复杂了,还是直接用软件方便点!
有14位网友表示赞同!
毒舌妖后
修改Hosts文件就挺麻烦的,每次都要重启才能生效,希望以后开发出更智能的方法。
有17位网友表示赞同!
走过海棠暮
感觉这篇文章写的有点过于专业,像我们普通用户很难理解一些概念…
有14位网友表示赞同!
颓废人士
说的对啊,sometimes i think just setting a VPN is enough to achieve blocking ads or websites. why bother with hosts file modification…
有19位网友表示赞同!
抚笙
我个人觉得清理 DNS 缓存确实可以解决很多问题,但我觉得还需要根据具体情况来判断和解决…
有20位网友表示赞同!