【发布时间】:2013-07-23 12:26:40
【问题描述】:
最近我在Startup Engineering上课。
在研究 DNS 系统主题时,我发现网站倾向于使用重定向将不同的域名指向主域名。
例如,当访问google.com 时,Google 使用重定向到www.google.com:
> curl -I google.com
HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
...
据我所知,重定向会减慢速度,因为要获取重定向到何处的信息,信号需要与网络服务器的距离增加一倍,从而增加整体延迟。
我被告知浏览器会缓存重定向信息,以便浏览器立即重定向下一个google.com 查询。但是第一个仍然必须得到服务器关于重定向的响应。
在我看来,我们可以在 DNS 级别实现相同的目标。我知道我们不能有 google.com 的 CNAME 记录导致 www.google.com(因为它会将所有电子邮件 user@google.com 变成 user@www.google.com)。但是我们可以在 DNS 级别使用重定向。或DNS ALIAS。
最后一步,我们可以使用 JavaScript 将浏览器地址栏中的 url 从google.com 更改为www.google.com。
对我而言,这将导致与使用重定向相同的结果,但会避免我们进行重定向,以便我们更快地提供结果页面。
不过,使用普通重定向应该是有原因的。
那么,这是什么原因呢?使用重定向有什么好处?在 DNS 级别重定向有哪些注意事项?
【问题讨论】: