晚上好,很高興我們又見面了。我們的干貨繼續(xù),在上一篇文章中,小唐給大家介紹了dig和Wireshark這兩種工具的基本使用。在今天的文章分享中小唐將會帶領(lǐng)大家了解DNS、TCP/IP和HTTP三者之間的關(guān)系。現(xiàn)在,我們開始吧。
有了前面幾篇文章的鋪墊,相信大家知道了這樣的一個事實“當(dāng)我們通過在瀏覽器輸入一個網(wǎng)址的時候,瀏覽器就會在我們眼前展示相應(yīng)的網(wǎng)頁內(nèi)容”。
事實上,從瀏覽器發(fā)起網(wǎng)頁訪問,再到網(wǎng)頁展示內(nèi)容給我們。這樣的過程其實就是瀏覽器發(fā)起了一個查看網(wǎng)頁的請求,然后,承載著網(wǎng)頁的服務(wù)器把指定的內(nèi)容響應(yīng)給瀏覽器的過程。
要實現(xiàn)這樣一個請求-響應(yīng)的過程需要依賴于域名和服務(wù)器的IP地址。因此,我們可以通俗的講“在瀏覽器輸入域名并訪問網(wǎng)站的過程其實就是一個瀏覽器尋找WEB服務(wù)器并和WEB服務(wù)器建立起通信的過程。而瀏覽器尋找WEB服務(wù)器的時候需要DNS解析的幫助,瀏覽器對WEB服務(wù)器發(fā)起通信需要TCP/IP協(xié)議的幫助,具體的通信內(nèi)容需要使用HTTP協(xié)議實現(xiàn)”。
在接下來的幾篇文章中小唐將會給大家重點論述DNS解析、TCP/IP通信和HTTP請求響應(yīng)三者之間的關(guān)系。老規(guī)矩,先給大家一張圖幫助理解:

瀏覽器、DNS服務(wù)器、WEB服務(wù)器三位小朋友之間有趣的對話
接下來是我們的瀏覽器、DNS服務(wù)器、WEB服務(wù)器這三個小朋友一個簡短的對話,對話內(nèi)容在上圖中就是按照①②③④⑤⑥序號展示。
①瀏覽器和DNS服務(wù)器的對話:
瀏覽器:DNS服務(wù)器兄弟,我想在你這查詢一下域名為www.example.com這個網(wǎng)站的WEB服務(wù)器IP地址是多少,我找它有點事。
DNS服務(wù)器:好的,瀏覽器兄弟,你稍等一下,我去給你查一查!
②③DNS服務(wù)器和WEB服務(wù)器的對話:
DNS服務(wù)器:WEB服務(wù)器,你的IP地址是多少啊,我有一個瀏覽器朋友找你有點事情。
WEB服務(wù)器:我知道了,我的IP地址是192.168.1.1,讓你的瀏覽器朋友按照這個IP地址來找我吧!
④DNS服務(wù)器和瀏覽器的對話:
DNS服務(wù)器:瀏覽器兄弟,你久等了,我剛幫你查了一下域名為www.example.com的網(wǎng)站的WEB服務(wù)器的IP地址是192.168.1.1,你可以按照這個IP地址去找它。
瀏覽器:辛苦了,DNS服務(wù)器兄弟。要不你把這個IP地址在你的本地保存一下吧,以后方便查找。
DNS服務(wù)器:好的,我這里已經(jīng)保存了一份了,你下次來的時候就不用等那么長時間了。
于是乎,瀏覽器根據(jù)在DNS服務(wù)器那里得到的IP地址去找WEB服務(wù)器了并且和WEB服務(wù)器建立起了通信,于是就有了以下的對話:
⑤⑥瀏覽器和WEB服務(wù)器的對話:
瀏覽器:你好,請問你是域名為www.example.com這個網(wǎng)站的WEB服務(wù)器主機嗎?我是從DNS服務(wù)器那里得到的你的IP地址。
WEB服務(wù)器:是的,我就是。請問你找我有什么事呢?
瀏覽器:我想在你這里得到www.example.com這個網(wǎng)站的網(wǎng)頁內(nèi)容。
WEB服務(wù)器:收到,我馬上給你。
以上的幾段對話很有趣,但是,對于此時在手機屏幕前看著的你來說可不要大意奧,也不要單純的認(rèn)為就是幾段簡單的對話啦。且聽小唐慢慢給你道來,在這幾段對話并且結(jié)合上圖來講,我們能提煉出兩部分內(nèi)容:
第一部分內(nèi)容就是瀏覽器、DNS服務(wù)器和WEB服務(wù)器三者之間的關(guān)系如下:
1、當(dāng)我們在瀏覽器輸入一個域名訪問某一個網(wǎng)站的時候,瀏覽器會拿著我們輸入的域名去找本地的DNS服務(wù)器查找和域名相對應(yīng)的服務(wù)器的IP地址。
2、瀏覽器會根據(jù)這一個IP地址去找到對應(yīng)的WEB服務(wù)器。
3、瀏覽器正式的對WEB服務(wù)器發(fā)起請求,WEB服務(wù)器對瀏覽器做出響應(yīng)。
第二部分內(nèi)容需要結(jié)合上圖才能發(fā)現(xiàn),那就是:瀏覽器和DNS服務(wù)器之間、DNS服務(wù)器和WEB服務(wù)器之間的通信需要通過DNS協(xié)議來實現(xiàn);瀏覽器和WEB服務(wù)器之間的通信需要通過HTTP協(xié)議來實現(xiàn)。還有一個很重要的一點,就是瀏覽器、DNS服務(wù)器、HTTP服務(wù)器的通信的實現(xiàn)都要依賴于TCP/IP協(xié)議傳輸內(nèi)容。
好啦,在這一篇文章中呢,小唐通過幾段有趣的對話,大概的給你們講了一下瀏覽器、DNS服務(wù)器和WEB服務(wù)器的關(guān)系。在下一篇文章中呢,小唐將會從這篇文章中抽出一部分內(nèi)容,開始給你們重點講解瀏覽器和DNS服務(wù)器之間的那些事,我們不見不散。

瀏覽器和DNS之間的那些事兒