NXDOMAIN 是域名系统返回的一个响应码,表示查询的域名不存在。它和"域名存在但没有某类记录"的响应不同。部分网络服务商会拦截 NXDOMAIN,把不存在的域名导向自己的搜索或广告页面,这被称为 NXDOMAIN 抢答。
第 47 期介绍过,域名解析失败时,域名系统会返回 NXDOMAIN。NXDOMAIN 是域名系统响应消息里的一个状态码,含义是"这个域名不存在"——即域名树中没有这个名字。它区别于另一种情况:域名存在,但没有查询的那一类记录,此时返回的状态码是 NOERROR,而不是 NXDOMAIN。
NXDOMAIN 的常见场景是拼写错误。用户把域名输错、访问了一个从未注册的名字,解析器查询后得到 NXDOMAIN,浏览器随即显示无法访问。域名被删除释放后,也会从"存在"变为 NXDOMAIN。
部分网络接入商和公共解析服务会拦截 NXDOMAIN,把本应返回"域名不存在"的查询,替换成自己服务器上的页面,通常是搜索或广告页。这种改动被称为 NXDOMAIN 抢答或劫持,它让用户得到一个可打开的页面,但也改变了域名系统本来的响应。是否拦截取决于解析服务商的选择,不同网络环境下表现不同。