url是什么
url(uniform resource location):統(tǒng)一資源定位符,用于定位互聯(lián)網(wǎng)上的資源
常用協(xié)議
http鱼辙、https廉嚼、ftp、file(本地)
//表示本鏈接是與本頁所用協(xié)議相同
輸入后第二步 域名解析
對(duì)于http://jirenhu.com的url倒戏,瀏覽器實(shí)際上不知道jirengu.com到底是什么東西怠噪,需要查找jirengu.com網(wǎng)站所在服務(wù)器的IP地址,才能找到目標(biāo)
為什么要發(fā)明域名峭梳,而不直接用IP舰绘?
太麻煩記不住,方便記憶
域名解析流程
- 瀏覽器緩存 - 瀏覽器會(huì)緩存DNS記錄一段時(shí)間
- 系統(tǒng)緩存 - 從Hosts文件中查找是否有該域名對(duì)應(yīng)的IP地址
- 路由器緩存 - 一般路由器也會(huì)緩存域名信息
- ISP DNS緩存 - 比如到電信的DNS上查找緩存
- 如果都沒查到葱椭,則向根域名服務(wù)器查找域名對(duì)于IP捂寿,根域名服務(wù)器把請(qǐng)求轉(zhuǎn)發(fā)到下一級(jí),直到找到IP
在這里有必要說一下以下倆個(gè)問題:
1. 電腦上不了網(wǎng)孵运,為什么要把域名改為8.8.8.8或者114.114.114.114秦陋?
8.8.8.8實(shí)際上是Google提供的服務(wù)器,114是國內(nèi)的服務(wù)商治笨,如果將DNS改為谷歌的他就不會(huì)從ISP什么的往下找了驳概,他就直接去谷歌的服務(wù)器里去找了
2. DNS劫持是什么?
比如黑客攻擊了某個(gè)節(jié)點(diǎn)旷赖,把某個(gè)根域名服務(wù)器攻擊了顺又,他管理著國內(nèi)外成千上萬個(gè)IP地址,比如你查找的是baidu.com等孵,本來對(duì)應(yīng)的是baidu.com的IP稚照,現(xiàn)在給你一個(gè)他自己的IP,這個(gè)時(shí)候你打開的baidu.com的網(wǎng)站其實(shí)是一個(gè)假的網(wǎng)站
第三步俯萌,服務(wù)器處理
服務(wù)器是一臺(tái)安裝系統(tǒng)的機(jī)器果录,常見的Linux,Window Server 2012咐熙,系統(tǒng)里安裝處理請(qǐng)求的應(yīng)用叫做Web Server
常見的Web服務(wù)器有Apache弱恒、Nginx、IIS棋恼、Lightted
Web服務(wù)器接收用戶的Request交給網(wǎng)站代碼返弹,或者接受請(qǐng)求反向代理到其他Web服務(wù)器
其實(shí)他就是個(gè)入口锈玉,不同的域名可以解析到相同的IP地址,這個(gè)IP地址下的服務(wù)器可以管控多個(gè)項(xiàng)目琉苇,只要通過編寫配置文件讓不同的請(qǐng)求交給不同代碼就可以了嘲玫。
第四步悦施,網(wǎng)站處理流程
以MVC的架構(gòu)的項(xiàng)目為例并扇,通過路由發(fā)發(fā)送請(qǐng)求到服務(wù)器提交給控制器,控制器向模型向數(shù)據(jù)庫組織數(shù)據(jù)返回給控制器抡诞,再由控制器把數(shù)據(jù)交給視圖組織頁面穷蛹,把塞好數(shù)據(jù)的視圖由控制器返回給用戶,就得到了平時(shí)所看到的頁面
第五步昼汗,瀏覽器處理
Html字符串被瀏覽器接收后被一句句讀取解析
- 解析到link標(biāo)簽后重新發(fā)送請(qǐng)求獲取css
- 解析到script標(biāo)簽后發(fā)送請(qǐng)求獲取js肴熏,并執(zhí)行代碼
- 解析到img標(biāo)簽后發(fā)送請(qǐng)求獲取圖片
繪制網(wǎng)頁:瀏覽器根據(jù)Html和CSS計(jì)算得到渲染樹,繪制到屏幕上js會(huì)執(zhí)行