Windows系统Hosts文件全注释相关技术疑问咨询
嘿,我来帮你把这两个问题理清楚!
1. Hosts文件无有效条目时,浏览器是否始终联系DNS服务器?
是的,绝大多数情况下是这样的。Windows系统的DNS解析优先级里,hosts文件的查询是排在DNS服务器之前的——如果hosts里有对应域名的有效IP条目,系统会直接用这个IP访问,不会去问DNS服务器;但如果hosts里找不到匹配的域名(比如你的情况,全是注释,没有有效条目),系统就会按照你网络设置里的DNS服务器地址去请求解析了。
不过要额外提一句:系统会缓存已经解析过的DNS结果,所以如果之前访问过某个网站,短时间内再次访问可能直接用缓存,不会立刻联系DNS服务器,但这和hosts文件无关,是系统的DNS缓存机制。
2. 为何我的Hosts文件全是注释?是不是找错了文件?
首先先纠正一下你提到的路径:正确的hosts文件路径应该是C:\Windows\System32\drivers\etc,你写的C:\Windows32\drivers\etc少了个System,如果是手误打错了还好,要是真按这个路径找的,那确实是找错地方了!
如果是在正确路径下找到的hosts文件(注意这个文件没有扩展名),那它全是注释是完全正常的!因为系统默认的hosts文件就是只有示例注释,用来告诉你怎么添加自定义的IP-域名映射,本身没有预设的有效条目——毕竟每个人的自定义解析需求都不一样,系统不会随便给你加内容。
另外你提到的Imhosts.sam,这个是LMHOSTS文件的示例,LMHOSTS是用来解析NetBIOS名称的(和局域网内的老设备通信相关),和负责DNS解析的hosts文件不是一回事,所以它全是注释也正常,不用管它。
内容的提问来源于stack exchange,提问作者user3552407

