问:根域用“.”表示,那为什么常规域名加上“.”就访问不了了?
答:
根域在DNS系统中用“.”表示,是DNS层级结构的最高层次。所有的域名在技术上都以一个隐含的“.”结尾。例如,www.nju.edu.cn
实际上是 www.nju.edu.cn.
,只不过通常我们在日常使用中省略了这个“.”。
为什么在URL中加上“.”会导致无法访问?
- DNS解析中的差异:
- 在DNS系统中,加上“.”表示这个域名是完全限定域名(Fully Qualified Domain Name,FQDN),意味着这个域名已经到达了顶级,不需要再进一步解析。例如
www.nju.edu.cn.
是 FQDN。 - 浏览器或应用程序在处理这些域名时,通常会尝试直接解析这个完全限定域名,而不会应用任何默认的域名补全策略。
- 在DNS系统中,加上“.”表示这个域名是完全限定域名(Fully Qualified Domain Name,FQDN),意味着这个域名已经到达了顶级,不需要再进一步解析。例如
- 浏览器处理的差异:
- 在大多数情况下,浏览器处理URL时,如果输入了一个不带“.”的域名,浏览器可能会尝试添加后缀或补全域名以进行DNS查询。但如果明确地输入了“.”,浏览器会直接认为用户输入的是一个FQDN。
- 由于一些网络配置或服务端配置的问题,加上“.”后可能会导致服务器无法正确处理这个域名,导致无法访问。
- 服务器配置的影响:
- 有些服务器可能对带“.”的完全限定域名没有正确配置,导致当你访问
www.nju.edu.cn.
时,服务器无法正确响应请求。 - 特别是在 HTTPS 请求中,服务器的证书验证通常要求域名必须精确匹配。如果证书中未包含带“.”的域名,HTTPS 连接可能会失败。
- 有些服务器可能对带“.”的完全限定域名没有正确配置,导致当你访问
总结
虽然在技术上域名确实以“.”结尾,但在实际使用中,尤其是在URL中,通常不包括这个“.”。浏览器和服务器对于带“.”的域名的处理可能不一致,可能会导致访问失败。因此,最好使用不带“.”的形式。