一.輸入URL:
- URL的定義:統(tǒng)一資源定位符赊颠,用于定位互聯(lián)網(wǎng)上的資源格二。
協(xié)議類型有http、https竣蹦、ftp顶猜、file等等。其中http協(xié)議是最常見的網(wǎng)絡傳輸協(xié)議痘括,https是進行加密的更安全的網(wǎng)絡傳輸協(xié)議长窄。
二.域名解析:
域名,是由一串用“點”分隔的字符纲菌,組成的Internet上某一臺計算機或計算機組的名稱挠日,用于在數(shù)據(jù)傳輸時標識計算機的電子方位。域名的目的是便于記憶和溝通的一組服務器的地址翰舌。比如比如 https://www.baidu.com嚣潜,前面的"https"表示用https協(xié)議,而域名就是www.baidu.com灶芝。
輸入URL后郑原, DNS會查找baidu.com所在的IP地址。(IP 是Internet Protocol的縮寫夜涕,是為計算機網(wǎng)絡相互連接進行通信而設計的協(xié)議犯犁。它是能使連接到網(wǎng)上的所有計算機在因特網(wǎng)上進行通信時應當遵守的規(guī)則。)
依次在瀏覽器緩存女器、系統(tǒng)緩存酸役、路由器緩存、ISP DNS 緩存中查找。都沒有的話會向跟域名服務器查找IP涣澡,根域名服務器把請求轉(zhuǎn)到下一級贱呐,直到找到IP。
三.服務器處理:
- 服務器是一臺安裝系統(tǒng)的機器入桂,常見的系統(tǒng)有Linux奄薇、Windows Server 2012。而每臺服務器的系統(tǒng)中都會安裝處理請求的應用Web server抗愁。
Web server可以解析接收到的HTTP請求馁蒂,返回一個響應給用戶,或者接受請求后反向代理到其他的Web服務器進行別的解析蜘腌。接收到的HTTP請求在后端處理沫屡,后臺處理框架是按照MVC【模型(model)-視圖(view)-控制器(controller)】進行搭建的。
四.瀏覽器處理:
瀏覽器會將接收到的HTML字符串一句句讀取解析撮珠。
- 瀏覽器解析到了link標簽沮脖,瀏覽器會重新發(fā)送請求獲取css文件;
解析到了img標簽芯急,也會發(fā)送請求獲取圖片資源勺届;
解析到了script標簽,html文檔會掛起渲染的線程娶耍,要等待文檔中js文件加載完畢以及解析執(zhí)行完畢涮因,才恢復html文檔的渲染線程。
五.繪制網(wǎng)頁:
瀏覽器根據(jù)HTML和css計算得到渲染樹伺绽,繪制到屏幕上养泡。