什么是URL
- URL:統(tǒng)一資源定位符狞甚,用于定位互聯(lián)網(wǎng)上的資源(URL通常包含:協(xié)議哼审、端口號、域名巩步、其他信息)
- 常用協(xié)議:http(用來尋找網(wǎng)絡(luò)上的某個(gè)資源)终畅、https(加密离福,相當(dāng)于一個(gè)更安全的http)妖爷、file(定位本地電腦上的文件)绿聘、ftp等
總的分為下面幾個(gè)過程
- 在 瀏覽器鐘輸入U(xiǎn)RL
- 域名解析
- 服務(wù)器處理
- 網(wǎng)站處理流程
- 瀏覽器處理
- 繪制網(wǎng)頁
具體過程
域名解析
- 域名解析是通過域名來找到域名對應(yīng)的IP地址的過程(不直接使用IP地址而使用域名是因?yàn)镮P地址太多,不利于記憶彼念,某些網(wǎng)站有多個(gè)IP逐沙,域名更加語義化棚赔、清晰忆嗜,容易記憶闪湾; IP地址:每個(gè)處于互聯(lián)網(wǎng)的設(shè)備都有一個(gè)IP地址)
域名到IP地址的流程
- 瀏覽器緩存(瀏覽器會緩存DNS記錄一段時(shí)間)
- 系統(tǒng)緩存(從host文件查找是否有該域名和對應(yīng)IP)
- 路由器緩存(一般路由器也會緩存域名信息)
- ISP DNS緩存(比如到電信的的DNS上查找緩存)
- 如果以上步驟沒有找到江醇,則會像根域名服務(wù)器查找域名對應(yīng)IP陶夜,根域名服務(wù)器會把請求轉(zhuǎn)發(fā)到下一級条辟,直到找到IP
服務(wù)器處理
服務(wù)器是什么
服務(wù)器是一臺安裝系統(tǒng)的機(jī)器(常見的系統(tǒng)有Linux本姥、windows server 2012)
- 請求到達(dá)服務(wù)器
- 應(yīng)用接受請求(系統(tǒng)里安裝的處理請求的應(yīng)用叫Web server)
- Web服務(wù)器接收請求交給網(wǎng)站代碼或反向代理到其他的Web服務(wù)器
網(wǎng)站處理
- web服務(wù)器接收用戶的請求后 交給網(wǎng)站代碼,然后返回后臺程序處理產(chǎn)生的結(jié)果作為響應(yīng)先舷。網(wǎng)站處理實(shí)際上就是這里的后臺程序處理。后臺程序處理時(shí)大部分都會用到MVC框架
- MVC是一個(gè)設(shè)計(jì)模式尔破,將應(yīng)用程序分成三個(gè)核心部件:模型(model)-- 視圖(view)--控制器(controller),它們各自處理自己的任務(wù)胆剧,實(shí)現(xiàn)輸入、處理和輸出的分離铃绒。
瀏覽器處理
- 網(wǎng)站處理之后,Html字符串被瀏覽器接收后一句句讀取解析
- 解析到link標(biāo)簽之后重新發(fā)送請求獲取CSS
- 解析到script標(biāo)簽后發(fā)送請求獲取js,并執(zhí)行代碼
- 解析到img標(biāo)簽后發(fā)送請求獲取圖片資源
繪制網(wǎng)頁
- 瀏覽器根據(jù)html和css計(jì)算得到渲染樹灾票,繪制到屏幕上
- js會被執(zhí)行