请使用域名访问网站(域名访问网站原理)

域名可以说的上是本世纪比较伟大的发明,因为如果没有域名的话,我们可能就需要记住比较绕口的ip地址,虽然我们也能通过ip来访问网站,但这显然不会有很好的用户体验感,甚至来说有些网站根本没有固定的ip地址(防止黑客的攻击),就需要统一化的地址来让用户形成印象,这时候域名就产生了。域名访问网站原理:浏览器作为输入网址的介质,已经成为了互联网的第一入口,那么作为客户端的浏览器是如何通过网址来指定哪一台远程服务器给我们返回内容呢?以百度作为例子:我们在浏览器上输入网址:www.baidu.com;一:浏览器首先会先从浏览器自身的DNS缓存里去寻找网址(这也是为什么有的时候开发人员明明换了一个解析的地址但是通过浏览器还是访问原来的页面),如果浏览器拥有dns的缓存的话,就会返回页面(浏览器在获取网站域名的实际IP地址后会对其IP进行缓存,减少网络请求的损耗。每种浏览器都有一个固定的DNS缓存时间,其中Chrome的过期时间是1分钟,在这个期限内不会重新请求DNS)。如果浏览器没有dns缓存的话进入下一步; 
 
如果是chrome的话,可以通过访问chrome://net-internals/#dns来看自己缓存的dns记录如上图所示
二:访问网址的系统上查找是否拥有dns缓存,如果有的话,则返回界面,没有的话进入下一步,从这一步可以知道DNS缓存不仅仅产生于操作系统,在浏览器和应用程序以及IPS网络运营商都会对DNS进行缓存,Windows2003之前的DNS缓存设置时间在注册表里。如果ip变了而网站内容还是没有变的话,可以查看是否是系统的dns缓存问题。
 
通过“services.msc”,或者通过“控制面板”-》“管理工具”-》“服务”,进入服务管理窗口。看到dns client重新启动下就ok了。
三:接下来浏览器会查看hosts文件(其作用就是将一些常用的网址域名与其对应的IP建立一个关联“数据库”),如果这边有对应的网址和ip的话,就以这个为基准,想当年是否有同学恶搞过,比如让百度等页面访问某些指定的网站,也有些开发者会利用hosts来让域名重定向(即虚拟域名)来做开发。大家可以试试在hosts文件里加一行127.0.0.1 www.baidu.com这时候通过访问www.baidu.com你会看到什么?四:如果第三步还是没有的话,浏览器会根据本地配置的DNS服务器发起请求,这时是dns系统的调用,如果在条目上有的话,则解析完成,返回内容。
 
在管理员界面中输入命令:ipconfig/all然后按Enter键确认即可显示Windows IP配置,在这里我们可以查看我们的DNS服务器地址。
五:如果第四步还是没有的话,本地配置的dns会发起迭代dns解析请求。最终找到为止!


本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://www.xiaosb.com/beian/36311/