大家好,欢迎来到IT知识分享网。
在日常生活中,我们基本都是直接写域名来访问网站的,比如访问百度的网站一般是搜索
“www.baidu.com”,虽然这里写的是域名,但在网络数据通信中,访问的仍然是百度的IP地址,那么为什么我们访问的域名,实际的却是IP地址呢?
1、主机访问网站时,在搜索栏中输入的域名,首先到达该网络的本地域名服务器(记载域名和IP地址的映射关系),也就是主机向该服务器询问该域名所对应的网站IP地址是多少,如果本地域名服务器没有相关的记录,那么就要开始进一步询问,这里有两种方法,
①递归查询:本地域名服务器询问其他域名服务器,直到问到对应的IP地址后,记录到自己的本地域名服务器中,并将该IP地址告知主机(可以理解为本地服务器帮忙问,得到答案后告诉主机)。
②迭代查询:本地域名服务器会告知主机,“我这里没有你想要的域名的IP地址,你应该去找XXX服务器,按照这个规律持续下去,直到找到对应的IP地址(服务器告知主机找谁询问,这个过程需要主机自己去询问)。
我们姑且使用递归查询的方式,当本地服务器没有主机所访问的域名所对应的IP地址,就去询问其他服务器(向上询问),当得知IP地址后,将域名和IP地址的映射关系记录到本地服务器,并且告知主机。
此时主机已经知道了想要访问的网站的IP地址,此时就能访问网站了嘛?
答案是:No
访问网站是基于HTTP协议,而HTTP是基于TCP的80端口,所以我们还需要让主机和网站建立TCP连接。
2、TCP连接的建立
主机通过和网站进行TCP三次握手建立TCP连接
连接建立后,主机搜索https://www.baidu.com,就可以访问网站啦
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/145113.html