2018-12-31

用戶打開瀏覽器绎晃,輸入baidu.com赁豆,頁面展示百度首頁波附。整個過程發(fā)生了什么艺晴?

這是一個從URL輸入到頁面展現(xiàn)的過程昼钻。

名詞解釋:

  • URL:統(tǒng)一資源定位符(Uniform Resource Locator,URL),用于定位互聯(lián)網(wǎng)上的資源并指出訪問方法封寞∪黄溃互聯(lián)網(wǎng)上的每個文件都有一個唯一的URL,指出文件的位置以及瀏覽器應(yīng)該怎么處理它狈究。
  • DNS:域名系統(tǒng)(Domain Name System)碗淌,因特網(wǎng)上作為域名和IP地址相互映射的一個分布式數(shù)據(jù)庫,能夠使用戶更方便的訪問互聯(lián)網(wǎng)抖锥,而不用去記住能夠被機器直接讀取的IP數(shù)串亿眠。通過主機名,最終得到該主機名對應(yīng)的IP地址的過程叫做域名解析(或主機名解析)磅废。每個IP地址都可以有一個主機名纳像,主機名由一個或多個字符串組成,字符串之間用小數(shù)點隔開还蹲。有了主機名爹耗,就不要死記硬背每臺IP設(shè)備的IP地址,只要記住相對直觀有意義的主機名就行了谜喊。這就是DNS協(xié)議所要完成的功能潭兽。
  • ISP:互聯(lián)網(wǎng)服務(wù)提供商(Internet Service Provider),即向廣大用戶綜合提供互聯(lián)網(wǎng)接入業(yè)務(wù)斗遏、信息業(yè)務(wù)山卦、和增值業(yè)務(wù)的電信運營商。
  • dom:文檔對象模型(Document Object Model诵次,簡稱DOM)账蓉,是W3C組織推薦的處理可擴展標(biāo)志語言的標(biāo)準(zhǔn)編程接口。在網(wǎng)頁上逾一,組織頁面(或文檔)的對象被組織在一個樹形結(jié)構(gòu)中铸本,用來表示文檔中對象的標(biāo)準(zhǔn)模型就稱為DOM。

1.在瀏覽器里輸入URL

用戶打開瀏覽器遵堵,輸入baidu.com箱玷。

2.域名解析

域名解析就是域名到IP地址的轉(zhuǎn)換過程。域名的解析工作由DNS服務(wù)器完成陌宿。即查找域名(baidu.com)網(wǎng)站所在服務(wù)器的IP地址锡足,域名解析的流程如下:

  1. 從瀏覽器緩存里找:瀏覽器會緩存之前用過的DNS一段時間(若無轉(zhuǎn)至下一步)。
  2. 從系統(tǒng)緩存里找:從Host文件查找是否有該域名對應(yīng)的IP(若無轉(zhuǎn)至下一步)壳坪。
  3. 從路由器緩存里找:從路由器中查找該域名IP地址的緩存信息(若無轉(zhuǎn)至下一步)舶得。
  4. 從ISP DNS緩存里找:從ISP(例如:電信)的DNS上查找該域名IP地址的緩存信息(若無轉(zhuǎn)至下一步)。
  5. 如以上方法都沒找到爽蝴,則向根域名服務(wù)器查找域名對應(yīng)的IP沐批,直到找到為止纫骑。

3.服務(wù)器處理

服務(wù)器是一臺安裝系統(tǒng)的機器。系統(tǒng)里安裝的處理請求的應(yīng)用叫Web server,用于接受用戶的請求珠插,返回給網(wǎng)站代碼惧磺。常見的web服務(wù)器有Apache、Nginx捻撑、IIS磨隘、Lighttpd。

瀏覽器把用戶發(fā)起的HTTP請求發(fā)送給服務(wù)器后顾患,Web server會在它自己的存儲空間中搜索所請求的文件(因為同一個服務(wù)器地址番捂,可能同時綁定了多個域名,此時需要配置web服務(wù)器將請求轉(zhuǎn)給相應(yīng)的端口)江解。當(dāng)找到文件時设预,服務(wù)器會讀取它,按需處理它犁河,并且把它傳送回瀏覽器鳖枕。Web server就相當(dāng)于起到了內(nèi)容分發(fā)的作用。

4.網(wǎng)站處理

網(wǎng)站處理桨螺,就是實際后臺處理的工作宾符。后臺開發(fā)有很多框架,但大部分是按照MVC設(shè)計模式進(jìn)行搭建的灭翔。MVC是一個設(shè)計模式魏烫,將應(yīng)用程序分成三個核心部件:模型(model)、視圖(view)肝箱、控制器(controller)哄褒。

控制器統(tǒng)一管理,接收服務(wù)器傳送過來的用戶請求并調(diào)用模型和視圖去完成用戶需求(決定調(diào)用哪個模型構(gòu)件去處理請求煌张,然后確定用哪個視圖來顯示模型處理返回的數(shù)據(jù))呐赡。如需查找所需用戶的數(shù)據(jù),便向模型要數(shù)據(jù)骏融,模型操作數(shù)據(jù)庫罚舱,查找所需數(shù)據(jù),找到后發(fā)回給控制器绎谦。視圖是HTML模板,把數(shù)據(jù)填入模板生成HTML粥脚,發(fā)回給控制器窃肠。控制器從模型中拿到數(shù)據(jù)刷允,然后從視圖中拿到HTML冤留,經(jīng)過處理碧囊,返回html字符串給瀏覽器。

5.瀏覽器處理

通過后臺處理返回的html字符串結(jié)果會被瀏覽器讀取解析纤怒,對應(yīng)的就是html頁面加載糯而、解析、渲染的工作泊窘。

(1)加載

瀏覽器對一個html頁面的加載順序是從上而下的熄驼,并在加載過程中進(jìn)行解析渲染處理。在這個過程中遇到link標(biāo)簽烘豹、image標(biāo)簽瓜贾、script標(biāo)簽時,瀏覽器會再次向服務(wù)器發(fā)送請求獲取css文件携悯、圖片資源祭芦、js文件,并執(zhí)行js代碼憔鬼,同步進(jìn)行加載解析龟劲。

(2)解析、渲染

解析的過程轴或,就是生成解析樹昌跌,即dom樹。dom樹是由dom元素及屬性節(jié)點組成侮叮,加上css解析的樣式對象和js解析后的動作實現(xiàn)避矢。而渲染,就是將dom樹進(jìn)行可視化表示囊榜。

6.繪制網(wǎng)頁

瀏覽器通過上面步驟計算得到渲染樹(dom樹的可視化表示)审胸,構(gòu)建渲染樹使頁面以正確的順序繪制出來,遵循一定的規(guī)則經(jīng)過一系列渲染工作后卸勺,實現(xiàn)網(wǎng)頁的繪制砂沛,至此最終完成了百度首頁的展示。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末曙求,一起剝皮案震驚了整個濱河市碍庵,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌悟狱,老刑警劉巖静浴,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異挤渐,居然都是意外死亡苹享,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進(jìn)店門浴麻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來得问,“玉大人囤攀,你說我怎么就攤上這事」常” “怎么了焚挠?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長漓骚。 經(jīng)常有香客問我蝌衔,道長,這世上最難降的妖魔是什么认境? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任胚委,我火速辦了婚禮,結(jié)果婚禮上叉信,老公的妹妹穿的比我還像新娘亩冬。我一直安慰自己,他們只是感情好硼身,可當(dāng)我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布硅急。 她就那樣靜靜地躺著,像睡著了一般佳遂。 火紅的嫁衣襯著肌膚如雪营袜。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天丑罪,我揣著相機與錄音荚板,去河邊找鬼。 笑死吩屹,一個胖子當(dāng)著我的面吹牛跪另,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播煤搜,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼免绿,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了擦盾?” 一聲冷哼從身側(cè)響起嘲驾,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎迹卢,沒想到半個月后辽故,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡腐碱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年榕暇,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡彤枢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出筒饰,到底是詐尸還是另有隱情缴啡,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布瓷们,位于F島的核電站业栅,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏谬晕。R本人自食惡果不足惜碘裕,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望攒钳。 院中可真熱鬧帮孔,春花似錦、人聲如沸不撑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽焕檬。三九已至姆坚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間实愚,已是汗流浹背兼呵。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留腊敲,地道東北人击喂。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像兔仰,于是被迫代替她去往敵國和親茫负。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,697評論 2 351

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