從URL到頁面顯示經(jīng)歷了哪些淫茵?
什么是URL?
URL蹬跃,是指同一的資源定位符匙瘪,用于定位網(wǎng)絡(luò)資源,俗稱網(wǎng)址炬转。
對(duì)應(yīng)協(xié)議辆苔,端口號(hào),域名等扼劈。
例如驻啤,http://www.baidu.com
這就是一個(gè)url地址,就是一個(gè)網(wǎng)址荐吵,它是由http協(xié)議傳輸骑冗。
對(duì)應(yīng)常用的傳輸協(xié)議如下’
- http,是指去查找網(wǎng)絡(luò)上的某個(gè)資源先煎。
- file贼涩,是用于定位本地文件的協(xié)議,也就是說用于查找本地資源薯蝎。
- https遥倦,是指一個(gè)加密后的安全的http協(xié)議。
這就是URL占锯,也就是網(wǎng)絡(luò)查找資源的第一步袒哥,輸入網(wǎng)址。
DNS解析消略?
是指瀏覽器根據(jù)輸入的URL/字符串/資源堡称,查找該字符串對(duì)應(yīng)的域名,在根據(jù)這個(gè)域名去查找對(duì)應(yīng)的IP地址艺演。
- 域名却紧?
就是指由數(shù)字桐臊,拼音等組成的協(xié)意字符串,比如晓殊,baidu.com断凶,這就是百度的域名。 - IP地址挺物?
這個(gè)大家都懂得把懒浮,就是每臺(tái)設(shè)備想要上網(wǎng)的話都要有這么一排數(shù)字,比如识藤,192.168.0.1 - 技術(shù)點(diǎn)砚著!
如果做手機(jī)測(cè)試時(shí),在電腦上測(cè)試開發(fā)程序沒有問題痴昧,但是在手機(jī)上如何做測(cè)試呢稽穆?
用手機(jī)與電腦連接到同一個(gè)wifi下,再通過手機(jī)訪問電腦上的IP地址就可以啦赶撰!
解析流程‘
- 瀏覽器緩存
當(dāng)之前通過該瀏覽器訪問過該IP的話舌镶,則首先在瀏覽器緩存區(qū),也就是記憶區(qū)進(jìn)行查找豪娜,如果找到了就返回出結(jié)果餐胀。 - 系統(tǒng)緩存
如果該瀏覽器中沒有該記錄的話,那么就要回到本地的HOST文件夾中查找瘤载。
HOST緩存作用
是指根據(jù)域名查到對(duì)應(yīng)IP的查找過程否灾。
技術(shù)點(diǎn)
HOST緩存區(qū)可以將將服務(wù)器網(wǎng)址定位到本地的IP
例如,在開發(fā)過程中鸣奔,如果想通過瀏覽器訪問一個(gè)服務(wù)器網(wǎng)址墨技,但又不希望直接訪問到服務(wù)器?
那么就可以根據(jù)HOST文件中定義的域名對(duì)應(yīng)的本地網(wǎng)址,在通過該域名查找時(shí)挎狸,便可以直接跳轉(zhuǎn)到HOST文件中定義的網(wǎng)址扣汪。比如,本地IP锨匆,172.0.1.2 域名崭别,wanyy.com 當(dāng)輸入該域名時(shí),可以調(diào)轉(zhuǎn)到172.0.1.2這個(gè)IP的地址恐锣。
路由器緩存區(qū)
如果HOST緩存區(qū)中還是沒有出現(xiàn)過這個(gè)域名的話紊遵,那就到下一級(jí)繼續(xù)查找。IPS路由器緩存區(qū)
仍然沒找到的話侥蒙,就會(huì)去找你用的服務(wù)商緩存區(qū)中去再查找,比如電信匀奏。-
根目錄查找
如果怎么都沒找到的話就是到最后一階段鞭衩,去根目錄查找,在根據(jù)根目錄返回值繼續(xù)查找,直到找到一個(gè)最終IP為止论衍。
DNS.png
關(guān)聯(lián)問題
- 如果電腦不能上網(wǎng)了瑞佩,直接將dns改為8.8.8.8或114.114.114.114就可以上網(wǎng)了。
原因坯台,就是不通過本地中間查找炬丸,直接將最終服務(wù)器的ip給dns就直接指定了找到了這個(gè)網(wǎng)址了。 - DNS劫持
是指網(wǎng)絡(luò)黑客攻擊某個(gè)節(jié)點(diǎn)服務(wù)器蜒蕾,并將一個(gè)虛擬網(wǎng)站的IP返還給對(duì)應(yīng)的域名稠炬,也就是說在查找網(wǎng)頁的胖有回根據(jù)該域名查找到一個(gè)假的網(wǎng)頁。
這就是第二階段咪啡,根據(jù)域名找對(duì)應(yīng)IP地址首启。
服務(wù)器處理
web服務(wù)器
是一臺(tái)安裝系統(tǒng)的機(jī)器,并安裝了接受請(qǐng)求的軟件撤摸,比如windows下通常會(huì)安裝web server毅桃,也就是一個(gè)管理的請(qǐng)求的入口。
- 常見的web服務(wù)器有Apache准夷,Nginx钥飞,IIs等
-
web服務(wù)器接受用過的請(qǐng)求并交給網(wǎng)站代碼,或者接受請(qǐng)求反向代理到其他到其他服務(wù)器衫嵌。
web服務(wù)器處理流程.PNG
例如读宙,
一臺(tái)機(jī)器里有蘋果,雞蛋渐扮,牛奶论悴,這臺(tái)機(jī)器只有個(gè)IP地址,127.1.0.1墓律,那么通過瀏覽器找蘋果的時(shí)候膀估,
首先找到的是127.1.0.1的這個(gè)IP,這個(gè)IP對(duì)應(yīng)了同一機(jī)器耻讽,這個(gè)時(shí)候就需要一個(gè)管理的察纯,比如Nginx,
這個(gè)軟件下會(huì)有一個(gè)配置文件针肥,相當(dāng)于分配單饼记,Nignx會(huì)根據(jù)你發(fā)來的請(qǐng)求,將你的需求返回給你蘋果或者牛奶或者雞蛋慰枕。
這就是第三階段具则,根據(jù)IP通過web服務(wù)器來返還結(jié)果。
網(wǎng)站處理流程
是指M>V>C處理過程具帮。
首先博肋,根據(jù)上一步終于找到了一個(gè)網(wǎng)站低斋,結(jié)果這個(gè)網(wǎng)站是一堆看不懂的代碼,那么怎么才能顯示成好看的頁面呢匪凡?
這就是M模型>V視圖>C控制器的處理過程膊畴。
M,這些代碼經(jīng)過運(yùn)行后會(huì)交給控制器病游,就是操作數(shù)據(jù)庫的過程唇跨。同時(shí)它給控制器提供了一些接口。
V衬衬,根據(jù)接口控制器做處理后买猖,會(huì)從模型文件中查找到指定的文件,在返還給控制器佣耐。
C政勃,拿到結(jié)果的控制器會(huì)放到一個(gè)視圖模板中,并將視圖在還給頁面兼砖,于是我們看到的最終結(jié)果是視圖頁面奸远。
這就是最后一步,顯示畫面的過程讽挟,也就是我們根據(jù)一堆字符串得到一個(gè)好看頁面的過程懒叛。