浏览器访问服务器的流程
1、瀏覽器輸上域名,例如www.baidu.com
2、瀏覽器會先訪問DNS服務(wù)器【DNS(Domain Name Server,域名服務(wù)器)是進行域名(domain name)和與之相對應(yīng)的IP地址 (IP address)轉(zhuǎn)換的服務(wù)器】,把域名解析成ip地址,在返回給瀏覽器
2)DNS的解析原理:
原理步驟:
1)系統(tǒng)首先會查找本地的DNS緩存和hosts文件信息,確認(rèn)其中是否有與,域名www.baidu.com所對應(yīng)的IP地址。如果有,就直接訪問這個IP地址所對應(yīng)的www.baidu.com域名服務(wù)器。
2)如果沒有找到,那么,系統(tǒng)將會把瀏覽器的解析請求發(fā)送給本地主機所指定的DNS服務(wù)器,稱為LDNS。如果LDNS服務(wù)器中有域名www.baidu.com所對應(yīng)的IP地址,則返回給客戶端的瀏覽器,如果沒有,則繼續(xù)請求其他DNS服務(wù)器。
3)LDNS服務(wù)器會從DNS系統(tǒng)的根(.)開始請求對域名www.baidu.com的解析。根DNS服務(wù)器全球只有13臺,根域名服務(wù)器是沒有域名www.baidu.com解析記錄的。但是它會有域名www.baidu.com所對應(yīng)的頂級域.com的解析記錄,因此直接把頂級域.com所對應(yīng)的DNS地址返回給LDNS服務(wù)器。
4)LDNS服務(wù)器獲取到頂級域.com對應(yīng)的DNS服務(wù)器地址后,就會去.com服務(wù)器請求對www.baidu.com域名的解析。在頂級域名服務(wù)器也不會有www.baidu.com的解析記錄的。但是它有www.baidu.com的父級域名的解析記錄,即baidu.com。因此頂級域名.com服務(wù)器又會把baidu.com所對應(yīng)的DNS服務(wù)器的IP地址返回給LDNS。
5)LDNS服務(wù)器收到baidu.com所對應(yīng)的IP地址后,就會去baidu.com域名服務(wù)器請求對www.baidu.com的域名解析。Baidu.com域名對應(yīng)的DNS服務(wù)器是該域名的授權(quán)DNS服務(wù)器。這個DNS服務(wù)器就是企業(yè)購買域名時用于管理解析的服務(wù)器。
6)baidu.com域名DNS服務(wù)器會吧www.baidu.com域名所對應(yīng)的IP地址給解析出來,然后發(fā)給LDNS。
7)LDNS把解析出來的結(jié)果,www.baudu.com所對應(yīng)的IP地址發(fā)送給客戶端的瀏覽器。并且LDNS也會將其域名和對應(yīng)的地址緩存到cache中。
8)客戶端瀏覽器收到后,也會將其域名以及對應(yīng)的IP地址緩存的到DNS緩存和hosts文件中。
3、瀏覽器從ip中解析出端口號
4、瀏覽器通過解析后得到的ip和端口號來與web服務(wù)器建立一條TCP通道連接(三次握手)
2、TCP/IP協(xié)議的介紹和三次握手及四次揮手
1)說說TCP/IP協(xié)議是什么
Transmission Control Protocol/Internet Protocol的簡寫,中譯名為傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議,又名網(wǎng)絡(luò)通訊協(xié)議,是Internet最基本的協(xié)議、Internet國際互聯(lián)網(wǎng)絡(luò)的基礎(chǔ),由網(wǎng)絡(luò)層的IP協(xié)議和傳輸層的TCP協(xié)議組成。TCP/IP?定義了電子設(shè)備如何連入因特網(wǎng),以及數(shù)據(jù)如何在它們之間傳輸?shù)臉?biāo)準(zhǔn)。協(xié)議采用了4層的層級結(jié)構(gòu),每一層都呼叫它的下一層所提供的協(xié)議來完成自己的需求。通俗而言:TCP負(fù)責(zé)發(fā)現(xiàn)傳輸?shù)膯栴},一有問題就發(fā)出信號,要求重新傳輸,直到所有數(shù)據(jù)安全正確地傳輸?shù)侥康牡亍6鳬P是給因特網(wǎng)的每一臺聯(lián)網(wǎng)設(shè)備規(guī)定一個地址。
5、建立TCP連接(三次握手)之后,瀏覽器向web服務(wù)器發(fā)送一條HTTP請求報文。
1)請求行
作用:用來說明客戶端想要做什么。
內(nèi)容:包括方法字段GET和URL字段以及HTTP協(xié)議版本
2)請求頭
作用:通過客戶端把請求的相關(guān)信息發(fā)給服務(wù)器
內(nèi)容:包括媒體類型、語言類型、支持壓縮、客戶端類型、主機等信息。
3)空行
作用:告訴服務(wù)器空行以下內(nèi)容不屬于請求頭部信息。
4)請求報文主體
作用:用來說明客戶端具體想要做的事情。
內(nèi)容:查看信息、應(yīng)用post方法。
6、web服務(wù)器響應(yīng)并讀取瀏覽器的請求信息,然后返回一條HTTP響應(yīng)報文。
1)狀態(tài)行
作用:用來說明服務(wù)端響應(yīng)客戶端的狀態(tài)。
內(nèi)容:包括洗衣及版本號、數(shù)字狀態(tài)碼、狀態(tài)情況
2)響應(yīng)頭
作用:通過服務(wù)端把響應(yīng)的相關(guān)信息給客戶端
內(nèi)容:包括Location、server、connect、vary等
3)空行
作用:告訴客戶端空行以下內(nèi)容不屬于響應(yīng)頭部信息。
4)響應(yīng)報文主體
作用:用來裝載著要返回給客戶端的數(shù)據(jù)
內(nèi)容:包括文本、html、視頻或者是圖片。
7、web服務(wù)器關(guān)閉HTTP連接,關(guān)閉TCP連接(四次揮手),web服務(wù)器顯示訪問的網(wǎng)站內(nèi)容到屏幕上
總結(jié)
以上是生活随笔為你收集整理的浏览器访问服务器的流程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: react随手记
- 下一篇: html2d动画,HTML5之SVG 2