淺談從URL到頁(yè)面展現(xiàn)

1.關(guān)于URL

URL是一種統(tǒng)一資源定位符,用于定位互聯(lián)網(wǎng)上資源配乓,包括http/https/ftp/file等協(xié)議
(ps:其中https可用于資源加密犹芹,是以安全為目標(biāo)的HTTP通道,簡(jiǎn)單講是HTTP的安全版腰埂。即HTTP下加入SSL層,HTTPS的安全基礎(chǔ)是SSL牺荠,因此加密的詳細(xì)內(nèi)容就需要SSL)

2.域名解析

從URL首先接著進(jìn)行域名解析驴一,因?yàn)闉g覽器并不知道某個(gè)URL是什么,需要通過(guò)域名找到某個(gè)網(wǎng)址所在的IP地址杈曲。
那域名是什么?為什么需要域名恰响?
域名是一個(gè)IP地址上有“面具” 魁亦。例如baidu.com即為域名。一個(gè)域名的目的也就是作用洁奈,是便于記憶和溝通的一組服務(wù)器的地址(網(wǎng)站利术,電子郵件,F(xiàn)TP等)印叁。
IP是什么?
IP是網(wǎng)絡(luò)之間互連的協(xié)議也就是為計(jì)算機(jī)網(wǎng)絡(luò)相互連接進(jìn)行通信而設(shè)計(jì)的協(xié)議昨悼。在因特網(wǎng)中跃洛,它是能使連接到網(wǎng)上的所有計(jì)算機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)相互通信的一套規(guī)則,規(guī)定了計(jì)算機(jī)在因特網(wǎng)上進(jìn)行通信時(shí)應(yīng)當(dāng)遵守的規(guī)則葱蝗。
局域網(wǎng)IP和公網(wǎng)IP是不同的细燎,位于同一個(gè)局域網(wǎng)IP的用戶可以進(jìn)行信息交互,而位于不同局域網(wǎng)IP的用戶只能通過(guò)申請(qǐng)公網(wǎng)IP進(jìn)行信息交互悼凑。127.0.0.1為本機(jī)IP击狮;
域名解析為IP的過(guò)程
通過(guò)瀏覽器緩存,系統(tǒng)緩存,路由器緩存,ISP DNS緩存捺萌,向根域名服務(wù)器查找域名對(duì)應(yīng)IP等各種方式尋找解析IP膘茎。這里要提及DNS酷誓,DNS是因特網(wǎng)上作為域名和IP地址相互映射的一個(gè)分布式數(shù)據(jù)庫(kù)盐数,能夠使用戶更方便的訪問(wèn)互聯(lián)網(wǎng),而不用去記住能夠被機(jī)器直接讀取的IP數(shù)串玫氢。通過(guò)主機(jī)名,最終得到該主機(jī)名對(duì)應(yīng)的IP地址的過(guò)程叫做域名解析(或主機(jī)名解析)
因此通過(guò)8.8.8.8(google提供的DNS服務(wù)器)或者114.114.114.114(國(guó)內(nèi)一個(gè)DNS服務(wù)商提供的服務(wù)器)可以找到域名與IP的相關(guān)記錄攻旦。DNS劫持就是使域名對(duì)應(yīng)的不再是原本應(yīng)有的IP

3.服務(wù)器處理響應(yīng)請(qǐng)求

服務(wù)器是安裝了操作系統(tǒng)的機(jī)器生逸,通過(guò)服務(wù)器包含的web serve來(lái)處理相關(guān)請(qǐng)求,常見(jiàn)的web serve包括Apache/Nginx/lls/Lighttpd. web serve服務(wù)器接受用戶請(qǐng)求交給網(wǎng)站代碼槽袄,或者接受請(qǐng)求反向代理到其他web serve。服務(wù)器響應(yīng)請(qǐng)求截酷,將數(shù)據(jù)返回給瀏覽器狮鸭。數(shù)據(jù)可能是根據(jù)HTML協(xié)議組織的網(wǎng)頁(yè),里面包含頁(yè)面的布局灾部、文字惯退。數(shù)據(jù)也可能是圖片、腳本程序等∷洌現(xiàn)在你可以用瀏覽器的“查看源代碼”功能懊蒸,感受一下服務(wù)器返回的是什么。如果資源路徑指示的資源不存在舌仍,服務(wù)器就會(huì)返回著名的404錯(cuò)誤。如國(guó)返回的是一個(gè)頁(yè)面铸豁,根據(jù)頁(yè)面里一些外鏈的URL,例如圖片的地址节芥,按照上述過(guò)程再次獲取。

4.網(wǎng)站處理流程

模型-視圖-控制器 (MVC).MVC是一個(gè)設(shè)計(jì)模式蚣驼,它強(qiáng)制性的使應(yīng)用程序的輸入拧晕、處理和輸出分開(kāi)。使用MVC應(yīng)用程序被分成三個(gè)核心部件:
模型(M)输玷、視圖(V)靡馁、控制器(C),它們各自處理自己的任務(wù)赔嚎。

視圖是用戶看到并與之交互的界面胧弛。對(duì)老式的Web應(yīng)用程序來(lái)說(shuō),視圖就是由HTML元素組成的界面损晤,在新式的Web應(yīng)用程序中红竭,HTML依舊在視圖中扮演著重要的角色,但一些新的技術(shù)已層出不窮茵宪,它們包括Adobe Flash和象XHTML稀火,XML/XSL,WML等一些標(biāo)識(shí)語(yǔ)言和Web services凰狞。如何處理應(yīng)用程序的界面變得越來(lái)越有挑戰(zhàn)性服球。MVC一個(gè)大的好處是它能為你的應(yīng)用程序處理很多不同的視圖。在視圖中其實(shí)沒(méi)有真正的處理發(fā)生斩熊,不管這些數(shù)據(jù)是聯(lián)機(jī)存儲(chǔ)的還是一個(gè)雇員列表粉渠,作為視圖來(lái)講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式霸株。

模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則去件。在MVC的三個(gè)部件中,模型擁有最多的處理任務(wù).被模型返回的數(shù)據(jù)是中立的尤溜,就是說(shuō)模型與數(shù)據(jù)格式無(wú)關(guān)宫莱,這樣一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù)。由于應(yīng)用于模型的代碼只需寫一次就可以被多個(gè)視圖重用授霸,所以減少了代碼的重復(fù)性碘耳。

控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。所以當(dāng)單擊Web頁(yè)面中的超鏈接和發(fā)送HTML表單時(shí)藏畅,控制器本身不輸出任何東西和做任何處理。它只是接收請(qǐng)求并決定調(diào)用哪個(gè)模型構(gòu)件去處理請(qǐng)求绞蹦,然后確定用哪個(gè)視圖來(lái)顯示模型處理返回的數(shù)據(jù)榜旦。

現(xiàn)在我們總結(jié)MVC的處理過(guò)程溅呢,首先控制器接收用戶的請(qǐng)求猿挚,并決定應(yīng)該調(diào)用哪個(gè)模型來(lái)進(jìn)行處理驶鹉,然后模型用業(yè)務(wù)邏輯來(lái)處理用戶的請(qǐng)求并返回?cái)?shù)據(jù),最后控制器用相應(yīng)的視圖格式化模型返回的數(shù)據(jù)办绝,并通過(guò)表示層呈現(xiàn)給用戶姚淆。
如下圖

26373b7e-83c5-41f3-bb33-c614fb8a37fd.png

4.瀏覽器的處理

開(kāi)始根據(jù)資源的類型腌逢,將資源組織成屏幕上顯示的圖像,這個(gè)過(guò)程叫渲染搏讶,網(wǎng)頁(yè)渲染是瀏覽器最復(fù)雜窍蓝、最核心的功能。對(duì)加載到的資源(HTML吓笙、JS面睛、CSS等)進(jìn)行語(yǔ)法解析,建議相應(yīng)的內(nèi)部數(shù)據(jù)結(jié)構(gòu)(比如HTML的DOM樹(shù)叁鉴,JS的(對(duì)象)屬性表幌墓,CSS的樣式規(guī)則等等)渲染,構(gòu)建渲染樹(shù)常侣,對(duì)各個(gè)元素進(jìn)行位置計(jì)算胳施、樣式計(jì)算等等。

5.繪制網(wǎng)頁(yè)

瀏覽器根據(jù)html和css計(jì)算得到渲染樹(shù)之后,將渲染好的頁(yè)面圖像顯示出來(lái)焦辅,即繪制網(wǎng)頁(yè),并開(kāi)始響應(yīng)用戶的操作剃根。仆抵。

綜上便是從URL到頁(yè)面展現(xiàn)的基本步驟,實(shí)際遠(yuǎn)遠(yuǎn)并沒(méi)有那么簡(jiǎn)單,很多很多的知識(shí)還需要學(xué)習(xí)娱两。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末十兢,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子遥缕,更是在濱河造成了極大的恐慌宵呛,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異逮矛,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)鲸伴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門汞窗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)糖荒,“玉大人,你說(shuō)我怎么就攤上這事蜘矢。” “怎么了品腹?”我有些...
    開(kāi)封第一講書人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵舞吭,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我蔑穴,道長(zhǎng)惧浴,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任捐腿,我火速辦了婚禮茄袖,結(jié)果婚禮上嘁锯,老公的妹妹穿的比我還像新娘。我一直安慰自己猪钮,他們只是感情好烤低,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著涯呻,像睡著了一般腻要。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上效诅,一...
    開(kāi)封第一講書人閱讀 51,365評(píng)論 1 302
  • 那天乱投,我揣著相機(jī)與錄音,去河邊找鬼戚炫。 笑死双肤,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的茅糜。 我是一名探鬼主播限匣,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了峦筒?” 一聲冷哼從身側(cè)響起窗慎,我...
    開(kāi)封第一講書人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤遮斥,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后术吗,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡隧魄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年购啄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了嘱么。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蔚龙,死狀恐怖乓旗,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情汇跨,我是刑警寧澤妆距,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布穷遂,位于F島的核電站,受9級(jí)特大地震影響娱据,放射性物質(zhì)發(fā)生泄漏蚪黑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一中剩、第九天 我趴在偏房一處隱蔽的房頂上張望忌穿。 院中可真熱鬧,春花似錦结啼、人聲如沸掠剑。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)朴译。三九已至,卻和暖如春属铁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背焦蘑。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工盯拱, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人喇肋。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓坟乾,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親蝶防。 傳聞我的和親對(duì)象是個(gè)殘疾皇子甚侣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容