很多朋友在解析域名时都会遇到问题,比如:
1.为什么别人能打开我的网站,我却不能?
2.域名解析已经改了,但是还没生效。我还需要做什么吗?
3.想把网站迁移到另一台主机上,但是担心把网站程序部署到另一台主机上一次不成功,影响网站访问和SEO。我该怎么办?
现在,我针对以上问题回答您的问题:首先,边肖在此简要说明个人电脑域名请求的解析流程,并附上解决上述问题的方法。
(1)在我们访问网站的过程中,我们的PC会首先查询hosts文件,该文件位于C:/Windows/System32/drivers/etc下,记录了域名与IP地址的对应关系。当这个文件中存在域名和IP地址的对应关系时,我们的PC就会从中读取相应的IP地址信息,并开始请求网站页面。一个道理是,无论是localhost还是我们平时搭建本地服务器时使用的127.0.0.1,都可以解析到本地服务器。因为默认情况下,主机文件中的本地主机和IP地址127.0.0.1之间存在对应关系。
(2)一般情况下,当我们登录网站时,需要向专用的DNS服务器发起域名解析请求。比如中国联通和中国电信都有自己专用的DNS服务器,为用户提供域名解析服务。当然,除了运营商提供的DNS服务器,也有一些免费提供域名解析服务的服务器,比如谷歌的8.8.8.8和8.8.4.4。当我们访问网站时,如果我们发现本地PC的hosts文件中的域名和IP地址没有对应关系,我们的PC就会向域名解析服务器发出请求,进行域名解析。当域名解析服务器收到域名解析请求时,会将域名对应的IP地址信息返回给用户,然后浏览器会向这个IP地址发出请求,以获取目标页面。
(3)一般在同一个网络环境下,域名和IP地址的对应关系是确定的,也就是说,在一定时间内,域名和IP地址有确定的对应关系,所以我们的PC内置了DNS缓存,会记录用户访问过的网站的域名和IP地址的对应关系(这个对应关系可以通过命令行查看,按住Win键再按R, 输入CMD,然后输入ipconfig/displaydns,显示域名和IP地址的对应关系,包括dns缓存和本地hosts文件给定的域名和IP地址的对应关系)。 当用户再次访问同一个域名时,会直接从本地DNS缓存中读取该域名的ip地址的对应关系,以加快访问目标页面的速度。在介绍了域名解析的全过程后,你可能还是不知道如何解决上述问题。其实以此为理论基础,解决上述问题会变得简单很多,以后遇到类似问题,也能很快确定域名无法妥善解决的原因。好了,废话少说,继续吧。
问题1:域名为什么有效?别人已经能打开我的站点,我却不能?答:原因很简单,本地DNS缓存没有刷新。
解决方法:在Win R和ipconfig/flushdns中输入CMD刷新dns缓存。关闭所有浏览器,然后重新打开。能正常打开吗?厉害了,网站正常打开了!
问题2:域名解析已经更改,但是还没有生效。我还需要做什么?答:就像我们的PC一样,DNS递归服务器也有缓存。DNS服务器可能需要72小时来全局更新DNS缓存。一般48小时内可以完成全局解析,甚至更快!可能只需要几秒钟,这取决于具体的网络环境。同时,您可以通过修改hosts文件来访问您的网站。具体方法见问题3。
问题3:我想把主机迁移到另一台主机上,但是我担心当我把网站程序部署到另一台主机上时,不会一下子成功,会影响网站访问和SEO。我该怎么办?
答:为了解决这个问题,边肖为您精心准备了解决方案,并尽可能避免这种情况的发生。如果你想把网站迁移到另一个主机上,但是在网站迁移的时候改变域名方向,等它生效,然后测试网站程序是否能正常工作,这样会很麻烦。更有甚者,如果域名生效后网站无法正常工作,还可能影响网站访问和网站SEO。但是,没有办法及时将域名改回原来的虚拟主机站点,因为域名可能需要72小时才能全局生效。
好了,解决以上问题,以上方法:打开C:/Windows/System32/drivers/etc找到hosts文件,添加一条记录www.xxx.comxxx.xxx.xxx.xxx前面的www.xxx.com是你的域名,后面是你的主机的IP地址。添加这样的记录并保存。如果你是win7系统,可以复制文件,修改,然后粘贴覆盖原文件。系统会询问您是否需要管理员的许可才能继续,您可以选择继续。如果你的电脑安装了antivir或360等软件,它可能会阻止你修改主机文件。只是暂时关闭这类软件的这个功能或者添加信任。
添加这样的记录后,可以打开浏览器,输入自己的域名,域名可以解析为目标主机的IP地址,这样就可以访问目标主机了。注意,这个解析只在本机生效,其他人访问你的网站之前的IP地址仍然不变。之后,如果你想移动你的网站,你可以畅通无阻地测试新网站。
什么是主机?
Hosts是没有扩展名的系统文件。它的功能是建立一些常用网址及其对应IP地址的‘数据库’。当用户在浏览器中输入网址时,系统将首先自动从主机文件中找到相应的IP地址。一旦找到,系统会立即打开相应的网页。如果没有找到,系统会将网址提交给DNS域名解析服务器进行IP地址解析。
可以用记事本和其他工具打开Hosts文件。