DNS 解析记录中的 CNAME 与 URL 重定向 (301/302) 区别

2022.02.14

CNAME解析

CNAME 被称为规范名字。这种记录允许您将多个名字映射到同一台计算机。 通常用于同时提供WWW和MAIL服务的计算机。例如,有一台计算机名为“r0WSPFSx58.”(A记录)。 它同时提供WWW和MAIL服务,为了便于用户访问服务。可以为该计算机设置两个别名(CNAME):WWW和MAIL。

同样的方法可以用于当您拥有多个域名需要指向同一服务器IP,此时您就可以将一个域名做A记录指向服务器IP,然后将其他的域名做别名(即CNAME)到A记录的域名上;那么当您的服务器IP地址变更时,您就可以不必对一个一个域名做更改指向了,只需要更改A记录的那个域名到服务器新IP上,其他做别名(即CNAME)的那些域名的指向将自动更改到新的IP地址上(以上操作均需要在DNS处执行)。

上面的主机IP为假设,以便于理解。URL重定向解析:即可以理解为直接跳转。

CNAME与URL重定向的区别

CNAME将域名a指向域名b,只是将域名a的ip地址指向了域名b对应的a记录的ip地址,如果该ip地址对应的主机配置了域名a和域名b相应的虚拟主机,那么访问域名a的时候会直接返回域名a对应的虚拟主机内容,而不是返回域名b对应的虚拟主机内容。如果该ip对应的主机上没有配置域名a对应的虚拟主机,那么会返回无法找到该网站。而不会跳转到域名b对应的虚拟主机网站。

URL重定向将域名a指向域名b,则是直接跳转。即用户访问域名a,那么会直接返回与域名b一模一样的内容。也就是将域名a直接指向了域名b对应的ip地址主机上的域名b对应的虚拟主机内容。一般域名服务商会提供显示URL重定向和隐示URL重定向。区别在于前者用户客户端浏览器地址栏看到的域名是b域名,后者用户看到的仍然是a域名。