你在网上有过这样的经历吗?显然域名解析后网站打不开,网络是正常的。一直登录QQ收发消息是正常的,但是网页就是打不开。可以正常访问。那么这里的原因是什么?本文将介绍我们访问网站的基本流程。希望看完这篇文章后,你可以处理类似的情况。
电脑访问百度网站过程简单示意图
从计算机访问网站的过程大致如上图所示。最重要的角色是DNS。DNS域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它充当一个分布式数据库,将域名和 IP 地址相互映射,使人们更容易访问 Internet。这是什么意思?简单来说就是你在访问网站时在浏览器上输入域名。比如你访问百度,你就进入了,但最终的网络原理是通过IP地址相互连接的。这个域名地址解析出它的真实IP地址并返回给你,然后根据IP地址访问对应的网站服务器,这是一个真实的网站访问过程。
其实我们可以通过IP地址访问网站。我们需要通过域名访问网站有几个原因:
下面我们来看看用户访问网站域名解析的过程。以访问百度网站为例:
1. 打开浏览器,输入百度网站域名。
2. 浏览器首先搜索浏览器自己的 DNS 缓存进行查找。如果有对应的入口并且有效,则直接解析完成网页的打开。
3. 如果第2步没有解决,浏览器会在电脑Windows系统的DNS缓存中查找。如果存在且尚未过期,则解析完成。
4. 第三步没有解析,浏览器搜索hosts文件,在C:WindowsSystem32driversetc下,如果有对应域名的IP地址,则解析完成。
5. 一般不会添加第4步的hosts文件,所以浏览器发起对DNS系统的调用,会发送到本地DNS服务器(如114.114.114.114)发起域名解析请求,如果域名服务器找到对应的入口,则解析完成。
6. 如果第5步解析不成功,设置的LDNS服务器会代替浏览器发起迭代DNS解析请求,逐级搜索DNS服务器系统,直到找到对应的权威DNS服务器.
7. 这个权威的DNS服务器是企业购买域名时用来管理域名解析的服务器。这个权威服务器会有相应的IP解析记录。然后 DNS 服务器将对应的最终 1P 记录发送给 LDNS。
8. LDNS将授权DNS服务器baidu.com对应的IP解析记录发送到客户端浏览器,并缓存域名和IP对应的解析,以便下次更快返回相同的解析请求的记录。
9. 客户端浏览器获取的对应IP地址。接下来,浏览器会请求获取该IP地址对应的网站服务器。网站服务器接收客户端的请求并响应处理,将客户端请求的内容返回给客户端浏览器。
10. 这样就完成了一次访问网页的整个过程。
我们可以简单地测试一下域名解析后网站打不开,你就会明白访问网站的原理了。电脑打开dos窗口开始运行,也可以同时按键盘上的win和r键,然后输入cmd回车调出。在dos窗口使用ping命令,ping,如下显示说明可以正常访问百度网站。
可以看出你在访问,但是他回复你的信息是ip的形式,这里返回给你的IP地址是112.80.248. 75.这是百度网站真实服务器的IP,所以如果知道网站真实IP地址,也可以直接通过IP地址访问。
我们不会记住真实的IP地址,因为很难记住,所以会有一个更好记住的URL来代替,需要DNS服务将URL解析成对应的IP。我们可以输出一个命令nslookup。可以看到我们设置了dns 114.114.114.114来帮我解析服务,帮我解析了他的真实IP地址112. 80.248.75 和 112.80.248.76,所以两个 IP 地址都可以访问。
接下来,让我们测试如果它是错误的 DNS 地址会发生什么。我这里设置了一个错误的DNS,设置DNS就是设置IP地址的地方。
我们来测试一下,先用ping命令ping一下。可以看出ping请求找不到这个URL,他在怀疑输入的名字有问题,呵呵,其实是我们的DNS设置有问题。
所以接下来我们用nslookup进行测试。因为我们设置了一个错误的DNS地址,所以他请求这个DNS地址时发生了超时超时。
通过上面的介绍,另一种方法是手动将域名对应的IP地址添加到hosts文件中。这样,电脑会先查找hosts文件,由于再次解析入口,就可以打开百度网页了。
嗯,这就是我们访问网站的工作原理,那么为什么有时候网站可以访问,有些网站不能访问。它通常是由运营商之间的相互访问引起的。例如,如果您使用移动宽带,则必须使用移动 DNS,然后才能访问其他运营商的资源。有问题。电信说我自己的电信资源应该是用我自己的电信DNS来访问的,所以如果DNS解析不出来,可以试试别的DNS。