为什么修改Hosts不生效?是因为DNS缓存的原因吗?

Update:如果浏览器使用了代理工具,修改 Hosts 也不会生效。这里是因为,浏览器会优先考虑代理工具(如添加 pac 文件、SwitchySharp等)的

大家好,如果您还对为什么修改Hosts不生效?是因为DNS缓存的原因吗?不太了解,没有关系,今天就由本站为大家分享为什么修改Hosts不生效?是因为DNS缓存的原因吗?的知识,包括的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

有人说重启浏览器就可以了。有人说清除缓存的DNS(chrome://net-internals/#DNS)就可以了。有人说只要开启隐私模式就可以了。有人说等一下……结果是进入隐私模式的还好,但是重启、清除缓存DNS、等一分钟的还是很挣扎。

上面提到的三个工具SwitchHosts/iHosts/Gas Mask,实际上只有iHosts有效(Mac下)。

在开发过程中,我们会无数次切换Host。如果不知道原理的话,我们在测试的时候还是会很害怕=_=||

修改Hosts不生效的根本原因

因为服务器设置了keep-alive!次要原因是浏览器DNS 缓存和系统DNS 缓存的存在。

为什么修改Hosts不生效?是因为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. 重启浏览器

为什么修改Hosts不生效?是因为DNS缓存的原因吗?

重启浏览器后,所有连接(包括长连接)都会断开,自然生效。

2. 隐私模式打开

由于隐私模式下不重用TCP连接,当打开新连接时,会重新解析DNS域名,自然生效。

用户评论

为什么修改Hosts不生效?是因为DNS缓存的原因吗?
孤岛晴空

这篇文章讲解得真详细!我之前也遇到过这个问题总是卡在某个网站上,后来发现原来是我缓存没清理 😅

    有6位网友表示赞同!

为什么修改Hosts不生效?是因为DNS缓存的原因吗?
我绝版了i

我也是啊,修改hosts常常让我头疼😭 一直找不到原因,原来是DNS缓存问题!文章给的好解答,这下终于明白了!

    有12位网友表示赞同!

为什么修改Hosts不生效?是因为DNS缓存的原因吗?
青楼买醉

我的电脑就经常遇到这个问题,今天刚好解决了一个一样的问题。发现Hosts文件路径错误,检查好后生效了!

    有13位网友表示赞同!

为什么修改Hosts不生效?是因为DNS缓存的原因吗?
墨染殇雪

修改hosts文件不生效确实很郁闷!感觉自己好像学不会技术😂 这篇文章给的建议挺全面的,我会尝试一下,希望能解决我的问题。

    有5位网友表示赞同!

为什么修改Hosts不生效?是因为DNS缓存的原因吗?
鹿叹

我之前就怀疑是DNS缓存导致的,可是找不到合适的工具清除。幸好文章里推荐了一些软件,我试试吧!

    有14位网友表示赞同!

为什么修改Hosts不生效?是因为DNS缓存的原因吗?
微信名字

这篇文章讲解很清楚啊,以前每次修改hosts都蒙在鼓里,现在终于明白是怎么回事了!感谢作者分享这么好的知识!

    有17位网友表示赞同!

为什么修改Hosts不生效?是因为DNS缓存的原因吗?
◆残留德花瓣

说的对,DNS缓存确实会影响hosts文件生效。但感觉这篇文章内容还是偏多一点,可以再精简些,更容易理解。

    有6位网友表示赞同!

为什么修改Hosts不生效?是因为DNS缓存的原因吗?
别悲哀

我觉得啊,如果修改 hosts 文件后一直不生效,那除了清理 DNS 缓存之外,还需要考虑其他因素,比如防火墙的设置、系统配置等等…

    有10位网友表示赞同!

为什么修改Hosts不生效?是因为DNS缓存的原因吗?
拉扯

我每次都觉得hosts文件太复杂了,还是直接用软件方便点!

    有14位网友表示赞同!

为什么修改Hosts不生效?是因为DNS缓存的原因吗?
毒舌妖后

修改Hosts文件就挺麻烦的,每次都要重启才能生效,希望以后开发出更智能的方法。

    有17位网友表示赞同!

为什么修改Hosts不生效?是因为DNS缓存的原因吗?
走过海棠暮

感觉这篇文章写的有点过于专业,像我们普通用户很难理解一些概念…

    有14位网友表示赞同!

为什么修改Hosts不生效?是因为DNS缓存的原因吗?
颓废人士

说的对啊,sometimes i think just setting a VPN is enough to achieve blocking ads or websites. why bother with hosts file modification…

    有19位网友表示赞同!

为什么修改Hosts不生效?是因为DNS缓存的原因吗?
抚笙

我个人觉得清理 DNS 缓存确实可以解决很多问题,但我觉得还需要根据具体情况来判断和解决…

    有20位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/129641.html

Like (0)
小su的头像小su
Previous 2024年9月2日 上午2:59
Next 2024年9月2日 上午3:05

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注