我们在做域名解析时,尤其是很多虚拟主机,大都会使用到CNAME解析,独立主机、VPS则用A记录较多,而URL转发则会在更换域名时用到,从设置效果来看,都是“解析”到一个“其它”URL地址,而实际上它们之间还是有些区别的,尤其是URL转发和其它两个之间区别很大的,首先A记录和CNAME属于标准的DNS记录,而URL转发则实际上只是个简单的重定向。另外,我们还常遇到别名ALIAS这个词,ALIAS对解析目标计算机的而言,别名可以有很多个,但是对我们域名设置而言,其实ALIAS跟CNAME其实可以理解为同一个东西(参照的对象不同,所以指代的目标也不同)。
一、A记录、CNAME和URL区别
它们间区别如下:
- A记录 —— 映射域名到一个或多个IP。
- CNAME——映射域名到另一个域名(子域名)。
- URL转发——重定向一个域名到另一个URL地址,使用HTTP 301状态码。
A记录、CNAME解析时都将先解析到IP地址。而URL则只是重定向转发。CNAME可以随意设,但URL转发在一些缺少网络*的国家是被禁止的,因为URL转发还分显示和隐式,很容易造成误解。
注意,无论是A记录、CNAME、URL转发,在实际使用时是全部可以设置多条记录的。比如:
- ftp.example.com A记录到 IP1,而mail.example.com则A记录到IP2
- ftp.example.com CNAME到 ftp.abc.com,而mail.example.com则CNAME到mail.abc.com
- ftp.example.com 转发到 ftp.abc.com,而mail.example.com则A记录到mail.abc.com
二、A记录、CNAME、URL适用范围
了解以上区别,在应用方面:
- A记录——适应于独立主机、有固定IP地址
- CNAME——适应于虚拟主机、变动IP地址主机
- URL转发——适应于更换域名又不想抛弃老用户