6 在瀏覽器的地址欄輸入網(wǎng)址,再按下回車,發(fā)生了什么?
1 輸入的是IP地址

簡述:
- 瀏覽器從地址欄的輸入獲得服務(wù)器的IP地址和端口號
- 瀏覽器用TCP的三次握手與服務(wù)器建立連接
- 瀏覽器向服務(wù)器發(fā)送拼接好的報文
- 服務(wù)器收到報文后處理請求,同樣拼好報文再發(fā)給瀏覽器
- 瀏覽器解析報文,渲染輸入頁面
2 輸入的是域名
瀏覽器先看自己的緩存有沒有,沒有就向操作系統(tǒng)要,還沒有就檢查本機域名解析文件 hosts,讓瀏覽器知道域名對應(yīng)的IP地址,就可以愉快地建立TCO連接發(fā)送HTTP請求了。
3 真實的網(wǎng)絡(luò)世界
第一個場景只有瀏覽器和服務(wù)器;第二個場景增加了一個DNS角色。真實的世界會更復雜。
- 接入網(wǎng)絡(luò):網(wǎng)線接入固定網(wǎng)絡(luò);蜂窩網(wǎng)、WIFI等接入移動網(wǎng)絡(luò),運營商分配一個IP地址。
- 域名解析:層層解析,緩存。
- CDN 緩存網(wǎng)站大部分資源,如靜態(tài)資源,直接響應(yīng)你的請求,發(fā)送數(shù)據(jù)給你。
- 從目標網(wǎng)站獲取動態(tài)資源
- 目標網(wǎng)站服務(wù)器,入口是負載均衡設(shè)備,背后是許多服務(wù)器構(gòu)成的集群
- 負載均衡設(shè)備先訪問系統(tǒng)的緩存服務(wù)器,如 memory級緩存 Redis,和disk級緩存 Varnish。
- 緩存服務(wù)器沒有,負載均衡設(shè)備把請求轉(zhuǎn)發(fā)給 應(yīng)用服務(wù)器。
- 應(yīng)用服務(wù)器 的輸出到了負載均衡設(shè)備里,請求的處理就算完成,然后按原路返回,經(jīng)多許多路由器、網(wǎng)關(guān)、代理等。
- 網(wǎng)站的響應(yīng)數(shù)據(jù)回到了設(shè)備,可能是HTML、json、圖片或者其他格式的數(shù)據(jù),需要瀏覽器解析處理才能展示,如果數(shù)據(jù)里有超鏈接,指向別的資源,那么就又要重走一遍流程,直到所有資源下載完成。
浙公網(wǎng)安備 33010602011771號