Redirect 理解为什么使用普通重定向
最近,我参加了一个新的课程 在研究DNS系统时,我发现网站倾向于使用重定向将其不同的域名指向主域名 例如,当访问Redirect 理解为什么使用普通重定向,redirect,dns,Redirect,Dns,最近,我参加了一个新的课程 在研究DNS系统时,我发现网站倾向于使用重定向将其不同的域名指向主域名 例如,当访问Google.com时,谷歌使用重定向到www.Google.com: > curl -I google.com HTTP/1.1 301 Moved Permanently Location: http://www.google.com/ ... 据我所知,重定向会减慢速度,因为要获取重定向到哪里的信息,需要信号将到web服务器的距离增加一倍,从而增加总体延迟 有人告诉我,
Google.com
时,谷歌使用重定向到www.Google.com
:
> curl -I google.com
HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
...
据我所知,重定向会减慢速度,因为要获取重定向到哪里的信息,需要信号将到web服务器的距离增加一倍,从而增加总体延迟
有人告诉我,浏览器会缓存重定向信息,以便下一个google.com
查询立即被浏览器重定向。但是第一个仍然需要得到服务器关于重定向的响应
在我看来,我们可以在DNS级别实现同样的目标。我知道我们不能有google.com
的CNAME记录导致www.google.com
(因为它会将所有电子邮件user@google.com
进入user@www.google.com
)。但是我们可以在DNS级别使用重定向。或
最后一步,我们可以使用JavaScript将浏览器地址栏中的url从google.com
更改为www.google.com
。
对我来说,这将导致与使用重定向相同的结果,但将避免我们进行重定向,从而更快地为结果页面提供服务
不过,使用普通重定向还是有原因的
那么,这是什么原因呢?使用重定向的优点是什么?DNS级别重定向的注意事项是什么?使用重定向是因为RFC 1912不允许在DNS区域的顶端使用CNAME记录。一些DNS提供商已经构建了类似“DNS别名”的东西,以便在其DNS边缘机器上使用服务器端重定向来解决查询,301/302重定向只是将HTTP流量分流到另一个FQDN的一种方式。由于使用301/302重定向而导致的延迟可能会因DNS提供商的不同而有所不同。JavaScript似乎有点不一样 因此,将
google.com
更改为www.google.com
的唯一方法是重定向
DNS级别的所有重定向和别名都发生在用户DNS服务器端,它将web服务器的最终IP地址返回给用户。浏览器通过HTTP向服务器发送的主机名处于OSI模型的更高级别。web服务器仍然接收原始主机名,在浏览器地址栏中更改它的唯一方法是重定向到新的url