晚上好,很高興我們又見面了。我們的干貨繼續,在上一篇文章中,小唐給大家介紹了dig和Wireshark這兩種工具的基本使用。在今天的文章分享中小唐將會帶領大家了解DNS、TCP/IP和HTTP三者之間的關系?,F在,我們開始吧。
有了前面幾篇文章的鋪墊,相信大家知道了這樣的一個事實“當我們通過在瀏覽器輸入一個網址的時候,瀏覽器就會在我們眼前展示相應的網頁內容”。
事實上,從瀏覽器發起網頁訪問,再到網頁展示內容給我們。這樣的過程其實就是瀏覽器發起了一個查看網頁的請求,然后,承載著網頁的服務器把指定的內容響應給瀏覽器的過程。
要實現這樣一個請求-響應的過程需要依賴于域名和服務器的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之間的那些事兒