晚上好,很高兴我们又见面了。我们的干货继续,在上一篇文章中,小唐给大家介绍了dig和Wireshark这两种工具的基本使用。在今天的文章分享中小唐将会带领大家了解DNS、TCP/IP和HTTP三者之间的关系。现在,我们开始吧。
有了前面几篇文章的铺垫,相信大家知道了这样的一个事实“当我们通过在浏览器输入一个网址的时候,浏览器就会在我们眼前展示相应的网页内容”。
事实上,从浏览器发起网页访问,再到网页展示内容给我们。这样的过程其实就是浏览器发起了一个查看网页的请求,然后,承载着网页的服务器把指定的内容响应给浏览器的过程。
要实现这样一个请求-响应的过程需要依赖于域名和服务器的IP地址。因此,我们可以通俗的讲“在浏览器输入域名并访问网站的过程其实就是一个浏览器寻找WEB服务器并和WEB服务器建立起通信的过程。而浏览器寻找WEB服务器的时候需要DNS解析的帮助,浏览器对WEB服务器发起通信需要TCP/IP协议的帮助,具体的通信内容需要使用HTTP协议实现”。
在接下来的几篇文章中小唐将会给大家重点论述DNS解析、TCP/IP通信和HTTP请求响应三者之间的关系。老规矩,先给大家一张图帮助理解:
浏览器、DNS服务器、WEB服务器三位小朋友之间有趣的对话
接下来是我们的浏览器、DNS服务器、WEB服务器这三个小朋友一个简短的对话,对话内容在上图中就是按照①②③④⑤⑥序号展示。
①浏览器和DNS服务器的对话:
浏览器:DNS服务器兄弟,我想在你这查询一下域名为www.example.com这个网站的WEB服务器IP地址是多少,我找它有点事。
DNS服务器:好的,浏览器兄弟,你稍等一下,我去给你查一查!
②③DNS服务器和WEB服务器的对话:
DNS服务器:WEB服务器,你的IP地址是多少啊,我有一个浏览器朋友找你有点事情。
WEB服务器:我知道了,我的IP地址是192.168.1.1,让你的浏览器朋友按照这个IP地址来找我吧!
④DNS服务器和浏览器的对话:
DNS服务器:浏览器兄弟,你久等了,我刚帮你查了一下域名为www.example.com的网站的WEB服务器的IP地址是192.168.1.1,你可以按照这个IP地址去找它。
浏览器:辛苦了,DNS服务器兄弟。要不你把这个IP地址在你的本地保存一下吧,以后方便查找。
DNS服务器:好的,我这里已经保存了一份了,你下次来的时候就不用等那么长时间了。
于是乎,浏览器根据在DNS服务器那里得到的IP地址去找WEB服务器了并且和WEB服务器建立起了通信,于是就有了以下的对话:
⑤⑥浏览器和WEB服务器的对话:
浏览器:你好,请问你是域名为www.example.com这个网站的WEB服务器主机吗?我是从DNS服务器那里得到的你的IP地址。
WEB服务器:是的,我就是。请问你找我有什么事呢?
浏览器:我想在你这里得到www.example.com这个网站的网页内容。
WEB服务器:收到,我马上给你。
以上的几段对话很有趣,但是,对于此时在手机屏幕前看着的你来说可不要大意奥,也不要单纯的认为就是几段简单的对话啦。且听小唐慢慢给你道来,在这几段对话并且结合上图来讲,我们能提炼出两部分内容:
第一部分内容就是浏览器、DNS服务器和WEB服务器三者之间的关系如下:
1、当我们在浏览器输入一个域名访问某一个网站的时候,浏览器会拿着我们输入的域名去找本地的DNS服务器查找和域名相对应的服务器的IP地址。
2、浏览器会根据这一个IP地址去找到对应的WEB服务器。
3、浏览器正式的对WEB服务器发起请求,WEB服务器对浏览器做出响应。
第二部分内容需要结合上图才能发现,那就是:浏览器和DNS服务器之间、DNS服务器和WEB服务器之间的通信需要通过DNS协议来实现;浏览器和WEB服务器之间的通信需要通过HTTP协议来实现。还有一个很重要的一点,就是浏览器、DNS服务器、HTTP服务器的通信的实现都要依赖于TCP/IP协议传输内容。
好啦,在这一篇文章中呢,小唐通过几段有趣的对话,大概的给你们讲了一下浏览器、DNS服务器和WEB服务器的关系。在下一篇文章中呢,小唐将会从这篇文章中抽出一部分内容,开始给你们重点讲解浏览器和DNS服务器之间的那些事,我们不见不散。
浏览器和DNS之间的那些事儿