整體流程圖
對(duì)應(yīng)上圖的步驟詳解
1.DNS解析
1. 瀏覽器緩存 – 瀏覽器會(huì)緩存DNS記錄一段時(shí)間
2. 系統(tǒng)緩存 - 從 Hosts 文件查找是否有該域名和對(duì)應(yīng) IP苗傅。
3. 路由器緩存 – 一般路由器也會(huì)緩存域名信息。
4. ISP DNS 緩存 – 比如到電信的 DNS 上查找緩存试读。
5. 如果都沒(méi)有找到蔓罚,則向根域名服務(wù)器查找域名對(duì)應(yīng) IP椿肩,根域名服務(wù)器把請(qǐng)求轉(zhuǎn)發(fā)到下一級(jí),知道找到 IP
以上是以一層層的向下遞進(jìn)關(guān)系查找對(duì)應(yīng)的域名和地址
ip概念解析
外網(wǎng)的ip地址是需要申請(qǐng)豺谈,被服務(wù)商配置的地址(電信等給到的地址)
同一局域網(wǎng)內(nèi)的電腦(同一路由器下的設(shè)備)郑象,通過(guò)路由器配置到相應(yīng)的局域網(wǎng)ip(192.163.1.100···)
內(nèi)網(wǎng)之間可以通關(guān)網(wǎng)關(guān)相鏈接(交換機(jī)和路由器)不同的網(wǎng)段對(duì)應(yīng)內(nèi)網(wǎng)還是外網(wǎng)
同一局域網(wǎng)內(nèi)的設(shè)備都是通過(guò)外網(wǎng)ip訪問(wèn)的,只是被路由器配置不同的ip地址而已
2.web server
客戶(hù)端發(fā)送的url為get請(qǐng)求茬末,根據(jù)http協(xié)議中的內(nèi)容來(lái)對(duì)應(yīng)解析相應(yīng)的詳細(xì)內(nèi)容
比如客戶(hù)請(qǐng)求的相對(duì)應(yīng)的域名查找相應(yīng)的path厂榛,還有客戶(hù)端的ip地址等等,在http的報(bào)頭文件中都有
還可以在這里做負(fù)載均衡處理,通常有nginx击奶、node 做資源分發(fā)和處理辈双,對(duì)應(yīng)相應(yīng)的服務(wù)器
3.web服務(wù)器的MVC
M:modle層,將數(shù)據(jù)庫(kù)直觀成可操作模型柜砾,樹(shù)形辐马,表等,提供API提C層操作局义,增刪改查喜爷,MySql,mangoDB
V:view層即前端的HTML,JS,CSS等頁(yè)面操作
C:controller層萄唇,將model+view的數(shù)據(jù)和頁(yè)面結(jié)合檩帐,生成完整的可操作的靜態(tài)資源
4.返回資源到客戶(hù)端
在發(fā)來(lái)的request請(qǐng)求中,根據(jù)其中的信息返回給客戶(hù)端另萤,http的報(bào)頭在tcp通訊中湃密,至于其三次握手保證其安全性。
1.在日常工作中使用的JSP四敞,形式就是在服務(wù)器端渲染頁(yè)面泛源,也就是html+數(shù)據(jù)的形式返回可以使用的頁(yè)面
2.如今的vue就是只要后臺(tái)的json數(shù)據(jù),自己在前端通過(guò)js將html+數(shù)據(jù)渲染起來(lái)忿危。