![CNAME 到底是什么?](https://linux22.com/image/527875/CNAME%20%E5%88%B0%E5%BA%95%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
我在 AmazonWS 上看到您使用 cname 来使用他们的网络服务。当我有这样的文件 sarah.example.com/image/2001.jpg 并且它确实位于 blablabla.com/mybucket/sarah/image/2001.jpg 时,这是 CNAME 吗?但网络用户不知道这一点?他看到的 URL 地址是 example.com?
答案1
CNAME 用于 DNS 名称解析,它只是告诉解析器使用另一个已定义的域名的 IP。它只是一个别名,另请参阅 Justice 的回答和定义。
但它没有在URL中进行交换,CNAME记录仅用于查找sarah.example.com的IP,然后使用原始URL。
在您的示例中它将是:
当客户请求时 http://sarah.example.com/image/2001.jpg,他首先查找 sarah.example.com 的 IP。客户端询问名称服务器,名称服务器在 sarah.example.com 的 DNS 条目中看到 CNAME 记录,该记录告诉他使用 blablabla.com 的 IP(假设为 10.10.10.10),因此名称服务器向客户端返回 10.10.10.10。
客户端现在使用原始 URL sarah.example.com/image/2001.jpg 并从 10.10.10.10 的 Web 服务器发出请求
在 example.com 的 DNS 条目中,某处会有一行类似以下内容:
sarah 3600 IN A 10.10.10.10
在 blablabla.com 的 DNS 条目中:
blablabla.com. 3600 IN CNAME sarah.example.com.
答案2
http://www.google.com/search?q=cname
http://en.wikipedia.org/wiki/CNAME_record
CNAME 记录或规范名称记录是域名系统 (DNS) 中的一种资源记录,用于指定域名是另一个规范域名的别名。这在从单个 IP 地址运行多个服务(如 FTP 和 Web 服务器;每个服务都在不同的端口上运行)时很有用。然后每个服务都可以在 DNS 中拥有自己的条目(如 ftp.example.com. 和 www.example.com.)。网络管理员在同一物理主机上的同一端口上运行具有不同名称的多个 HTTP 服务器时也会使用 CNAME。
答案3
CNAME 是“规范名称”的缩写,是给定主机或资源的“官方”名称。
答案4
您可能对一些相关的 RFC 感兴趣以了解更多信息。
RFC 1034 规定“CNAME 标识别名的规范名称。” 简单来说,aCNAME
只是域名的别名,就像文件的符号链接一样。