概述
1、在瀏覽器輸入輸入url玄货;
2皇钞、域名解析,查找對應的ip地址松捉;
3夹界、瀏覽器根據(jù) IP 地址與服務器建立 socket 連接;
4隘世、瀏覽器與服務器通信: 瀏覽器請求可柿,服務器處理請求;
5丙者、瀏覽器與服務器斷開請求
1复斥、在瀏覽器輸入url
url:統(tǒng)一資源定位器,用于定位互聯(lián)網(wǎng)上的資源械媒。
2目锭、域名解析查找對應的ip地址
概念解釋
- ip地址:IP協(xié)議為互聯(lián)網(wǎng)上的每一個網(wǎng)絡和每一臺主機分配一個邏輯地址。IP地址如同門牌號碼纷捞,通過IP地址來確定每一臺主機的位置痢虹。服務器本質(zhì)也就是一臺主機,訪問服務器也必須要知道其所對應的IP地址兰绣。
- 域名(DN):全稱網(wǎng)域名稱世分,是由一串用點分割的名字組成的internet上某一臺計算機和計算機組的名稱编振,用在數(shù)據(jù)傳輸時標識計算機的電子方位缀辩。因為IP地址難記憶且不易輸入,所以用域名來代替純數(shù)字的IP地址踪央。
- 網(wǎng)域名稱系統(tǒng)(DNS):是因特網(wǎng)的一項核心服務臀玄,它作為可以將 域名和IP地址相互映射的一個分布式數(shù)據(jù)庫。DNS的作用就是把域名解析為相對應的IP地址畅蹂。
域名解析流程
1健无、瀏覽器緩存,瀏覽器會緩存DNS記錄一段時間液斜;
2累贤、系統(tǒng)緩存,從hosts文件中查找是否有該域名所對應的IP少漆;
3臼膏、前兩個過程無法解析時,就要用到我們網(wǎng)絡配置中的"DNS服務器地址"了示损。操作系統(tǒng)會把這個域名發(fā)送給這個LDNS渗磅,也就是本地區(qū)的域名服務器。大約80%的域名解析到這里就結(jié)束了,所以LDNS主要承擔了域名的解析工作始鱼。
4仔掸、如果都沒有找到,則向根域名服務器查找域名對應 IP医清,根域名服務器把請求轉(zhuǎn)發(fā)到下一級起暮。Name Server域名服務器會查詢存儲的域名和IP的映射關(guān)系表,在正常情況下都根據(jù)域名得到目標IP地址会烙,連同一個TTL值返回給DNS Server域名服務器鞋怀,返回該域名對應的IP和TTL值,LDNS會緩存這個域名和IP的對應關(guān)系持搜。把解析的結(jié)果返回給用戶密似,用戶根據(jù)TTL值緩存在本地系統(tǒng)緩存中,域名解析過程結(jié)束葫盼。
建立連接
知道了服務器的 IP 地址残腌,下面便開始與服務器建立連接了。
TCP協(xié)議的三次握手:
- 主機向服務器發(fā)送一個建立連接的請求(您好贫导,我想認識您)抛猫;
- 服務器接到請求后發(fā)送同意連接的信號(好的,很高興認識您)孩灯;
- 主機接到同意連接的信號后闺金,再次向服務器發(fā)送了確認信號(我也很高興認識您),自此峰档,主機與服務器兩者建立了連接败匹。
TCP 協(xié)議:三次握手的過程采用 TCP 協(xié)議,其可以保證信息傳輸?shù)目煽啃约パ玻挝帐诌^程中掀亩,若一方收不到確認信號,協(xié)議會要求
重新發(fā)送信號欢顷。
網(wǎng)頁的請求與顯示
1槽棍、瀏覽器根據(jù)url生成http請求給到控制器;
2抬驴、從模型查找匹配控制器發(fā)來的請求返回給控制器得到數(shù)據(jù)炼七。
3、控制器發(fā)送數(shù)據(jù)給視圖布持,視圖將數(shù)據(jù)組合成html文件反饋給控制器豌拙。
4、控制器將html文件發(fā)送給瀏覽器鳖链,在瀏覽器沒有完全接受html網(wǎng)頁前渲染姆蘸、顯示網(wǎng)頁墩莫。
瀏覽器與服務器斷開鏈接-四次揮手
1、主機向服務器發(fā)送一個斷開連接的請求(不早了逞敷,我該走了)狂秦;
2、服務器接到請求后發(fā)送確認收到請求的信號(知道了)推捐;
3裂问、服務器向主機發(fā)送斷開通知(我也該走了);
4牛柒、主機接到斷開通知后斷開連接并反饋一個確認信號(嗯堪簿,好的),服務器收到確認信號后斷開連接皮壁;
補充:
- 為什么服務器在接到斷開請求時不立即同意斷開:當服務器收到斷開連接的請求時椭更,可能仍然有數(shù)據(jù)未發(fā)送完畢,所以服務器先發(fā)送確認信號蛾魄,等所有數(shù)據(jù)發(fā)送完畢后再同意斷開虑瀑。
- 第四次握手后,主機發(fā)送確認信號后并沒有立即斷開連接滴须,而是等待了 2 個報文傳送周期舌狗,原因是:如果第四次握手的確認信息丟失,服務器將會重新發(fā)送第三次握手的斷開連接的信號扔水,而服務器發(fā)覺丟包與重新發(fā)送的斷開連接到達主機的時間正好為 2 個報文傳輸周期痛侍。