在调试我的一个 websocket 应用程序时注意到一个有趣的事情,即当网络连接状态发生变化时,Google Chrome 会发出 3 个 http 请求;
相当令人不安,看起来就像某些恶意软件正在检查随机服务器一样。
但我不太明白为什么,因为它们都返回一个502
或根本没有响应代码,因为目的地不存在。
断开连接时:
重新连接:
我想主要的问题是这是否正常以及有什么用处;他们为什么不去查找实际存在的 DNS 呢?
答案1
我记得这是 Chrome 的一个特殊功能。此功能用于帮助检测您的提供商是否专门处理无效的 DNS 条目。chromium 错误跟踪器 - 最新消息
答案2
这看起来令人担忧,但在 Chrome 中显然是正常且预期的行为。
为了使用地址/位置栏进行搜索而不仅仅是 URL,Chrome 需要检查输入的文本是否为有效域名,然后才能将其视为搜索词。但是,某些 IPS 会针对不存在的域名提供广告页面(DNS劫持),这样看起来每个域名都存在!为了测试这一点,Chrome 会查询一些随机的、可能是虚假的单词域名,看看它们是否映射到同一个 IP 地址。如果是这样,Chrome 可以假设上游 ISP 正在执行 DNS 劫持。