URL 輸入到頁面展現(xiàn)的過程簡述

在瀏覽器中輸入U(xiǎn)RL到整個(gè)頁面顯示在用戶面前這個(gè)過程大致可以被分為以下幾個(gè)階段:
  1. 域名解析
  2. 服務(wù)器處理
  3. 網(wǎng)站處理
  4. 瀏覽器處理與繪制
URL的定義

URL(Uniform Resource Locator)吻谋,即統(tǒng)一資源定位符姜盈,是對(duì)可以從互聯(lián)網(wǎng)上得到的資源的位置和訪問方法的一種簡潔的表示葱绒,是互聯(lián)網(wǎng)上標(biāo)準(zhǔn)資源的地址(網(wǎng)址)“锘伲互聯(lián)網(wǎng)上的每個(gè)文件都有一個(gè)唯一的URL实苞,它包含的信息指出文件的位置以及瀏覽器應(yīng)該怎么處理它。

基本URL包含模式(或稱協(xié)議)烈疚、服務(wù)器名稱(或IP地址)黔牵、路徑和文件名,如“協(xié)議://授權(quán)/路徑查詢”爷肝。完整的猾浦、帶有授權(quán)部分的普通統(tǒng)一資源標(biāo)志符語法看上去如下:協(xié)議://用戶名:密碼@子域名.域名.頂級(jí)域名:端口號(hào)/目錄/文件名.文件后綴?參數(shù)=值#標(biāo)志

URL常用協(xié)議有:

  • http——超文本傳輸協(xié)議資源
  • https——用安全套接字層傳送的超文本傳輸協(xié)議(加密)
  • ftp——文件傳輸協(xié)議
  • mailto——電子郵件地址
  • file——當(dāng)?shù)仉娔X或網(wǎng)上分享的文件

具體過程介紹

一、域名解析

互聯(lián)網(wǎng)上每一臺(tái)計(jì)算機(jī)的唯一標(biāo)識(shí)是它的IP地址灯抛,但是IP地址并不方便記憶金赦。用戶更喜歡用方便記憶的網(wǎng)址去尋找互聯(lián)網(wǎng)上的其它計(jì)算機(jī)。所以互聯(lián)網(wǎng)設(shè)計(jì)者需要在用戶的方便性與可用性方面做一個(gè)權(quán)衡对嚼,這個(gè)權(quán)衡就是一個(gè)網(wǎng)址到IP地址的轉(zhuǎn)換夹抗,這個(gè)過程就是域名解析。它實(shí)際上充當(dāng)了一個(gè)翻譯的角色猪半,實(shí)現(xiàn)了網(wǎng)址到IP地址的轉(zhuǎn)換兔朦。域名的解析工作由DNS服務(wù)器完成偷线。

IP 地址:IP 協(xié)議為互聯(lián)網(wǎng)上的每一個(gè)網(wǎng)絡(luò)和每一臺(tái)主機(jī)分配的一個(gè)邏輯地址。IP 地址如同門牌號(hào)碼沽甥,通過 IP 地址才能確定一臺(tái)主機(jī)位置声邦。服務(wù)器本質(zhì)也是一臺(tái)主機(jī),想要訪問某個(gè)服務(wù)器摆舟,必須先知道它的 IP 地址

域名( DN ):IP 地址由四個(gè)數(shù)字組成亥曹,中間用點(diǎn)號(hào)連接,在使用過程中難記憶且易輸入錯(cuò)誤恨诱,所以用我們熟悉的字母和數(shù)字組合來代替純數(shù)字的 IP 地址媳瞪,比如我們只會(huì)記住 www.baidu.com(百度域名) 而不是 220.181.112.244(百度的其中一個(gè) IP 地址)。

DNS: 每個(gè)域名都對(duì)應(yīng)一個(gè)或多個(gè)提供相同服務(wù)服務(wù)器的 IP 地址照宝,只有知道服務(wù)器 IP 地址才能建立連接蛇受,所以需要通過 DNS 把域名解析成一個(gè) IP 地址。

具體流程

  1. 瀏覽器搜索自己的DNS緩存 – 瀏覽器會(huì)緩存DNS記錄一段時(shí)間
  2. 搜索操作系統(tǒng)中的Hosts文件 - 從 Hosts 文件查找是否有該域名和對(duì)應(yīng) IP厕鹃。
  3. 搜索路由器緩存 – 一般路由器也會(huì)緩存域名信息兢仰。
  4. 搜索ISP DNS 緩存 (ISP:互聯(lián)網(wǎng)服務(wù)提供商)– 比如到電信的 DNS 上查找緩存。
    如果都沒有找到剂碴,則向根域名服務(wù)器查找域名對(duì)應(yīng) IP把将,根域名服務(wù)器把請(qǐng)求轉(zhuǎn)發(fā)到下一級(jí),直到找到 IP

小知識(shí)

  1. 8.8.8.8 :8.8.8.8是一個(gè)IP地址忆矛,是Google提供的免費(fèi)DNS服務(wù)器的IP地址
    114.114.114.114 :是國內(nèi)第一個(gè)察蹲、全球第三個(gè)開放的DNS服務(wù)地址,又稱114DNS
  2. DNS劫持:
    DNS劫持又稱域名劫持,是指在劫持的網(wǎng)絡(luò)范圍內(nèi)攔截域名解析的請(qǐng)求催训,分析請(qǐng)求的域名洽议,把審查范圍以外的請(qǐng)求放行,否則返回假的IP地址或者什么都不做使請(qǐng)求失去響應(yīng)瞳腌,其效果就是對(duì)特定的網(wǎng)絡(luò)不能反應(yīng)或訪問的是假網(wǎng)址绞铃。

二、服務(wù)器處理

服務(wù)器是一臺(tái)安裝系統(tǒng)的機(jī)器嫂侍,常見的系統(tǒng)如Linux儿捧、windows server 2012等系統(tǒng)里安裝的處理請(qǐng)求的應(yīng)用叫 Web server(web服務(wù)器)
常見的 web服務(wù)器有 Apache、Nginx挑宠、IIS菲盾、Lighttpd
web服務(wù)器接收用戶的Request 交給網(wǎng)站代碼,或者接受請(qǐng)求反向代理到其他 web服務(wù)器

** 饑人谷服務(wù)器處理過程示意圖**

三各淀、網(wǎng)站處理

**MVC架構(gòu)網(wǎng)站處理示意圖**.png

MVC全名是Model View Controller懒鉴,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設(shè)計(jì)典范,用一種業(yè)務(wù)邏輯临谱、數(shù)據(jù)璃俗、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個(gè)部件里面悉默,在改進(jìn)和個(gè)性化定制界面及用戶交互的同時(shí)城豁,不需要重新編寫業(yè)務(wù)邏輯。MVC被獨(dú)特的發(fā)展起來用于映射傳統(tǒng)的輸入抄课、處理和輸出功能在一個(gè)邏輯的圖形化用戶界面的結(jié)構(gòu)中唱星。

  • Model(模型):是應(yīng)用程序中用于處理應(yīng)用程序數(shù)據(jù)邏輯的部分,通常模型對(duì)象負(fù)責(zé)在數(shù)據(jù)庫中存取數(shù)據(jù)跟磨。
  • View(視圖):是應(yīng)用程序中處理數(shù)據(jù)顯示的部分间聊。,通常視圖是依據(jù)模型數(shù)據(jù)創(chuàng)建的抵拘。(前端工程師主要負(fù)責(zé)
  • Controller(控制器):是應(yīng)用程序中處理用戶交互的部分哎榴,通常控制器負(fù)責(zé)從視圖讀取數(shù)據(jù)僵蛛,控制用戶輸入叹话,并向模型發(fā)送數(shù)據(jù)。

四、瀏覽器處理與繪制

解析過程:

  • HTML字符串被瀏覽器接受后被一句句讀取解析
  • 解析到link 標(biāo)簽后重新發(fā)送請(qǐng)求獲取css聂抢;解析到 script標(biāo)簽后發(fā)送請(qǐng)求獲取 js寇蚊,并執(zhí)行代碼
  • 解析到img 標(biāo)簽后發(fā)送請(qǐng)求獲取圖片資源

繪制過程:

  • 瀏覽器根據(jù) HTML 和 CSS 計(jì)算得到渲染樹,繪制到屏幕上孙蒙,js 會(huì)被執(zhí)行

解析順序:

  • 瀏覽器是一個(gè)邊解析邊渲染的過程。首先瀏覽器解析HTML文件構(gòu)建DOM樹,然后解析CSS文件構(gòu)建渲染樹泪电,等到渲染樹構(gòu)建完成后,瀏覽器開始布局渲染樹并將其繪制到屏幕上纪铺。
  • JS的解析是由瀏覽器中的JS解析引擎完成的相速。JS是單線程運(yùn)行,也就是說鲜锚,在同一個(gè)時(shí)間內(nèi)只能做一件事突诬,所有的任務(wù)都需要排隊(duì),前一個(gè)任務(wù)結(jié)束芜繁,后一個(gè)任務(wù)才能開始旺隙。
  • 瀏覽器在解析過程中,如果遇到請(qǐng)求外部資源時(shí)請(qǐng)求過程是異步的骏令,并不會(huì)影響HTML文檔進(jìn)行加載蔬捷,但是當(dāng)文檔加載過程中遇到JS文件,HTML文檔會(huì)掛起渲染過程,不僅要等到文檔中JS文件加載完畢還要等待解析執(zhí)行完畢周拐,才會(huì)繼續(xù)HTML的渲染過程铡俐。原因是因?yàn)镴S有可能修改DOM結(jié)構(gòu),這就意味著JS執(zhí)行完成前妥粟,后續(xù)所有資源的下載是沒有必要的审丘,這就是JS阻塞后續(xù)資源下載的根本原因。CSS文件的加載不影響JS文件的加載罕容,但是卻影響JS文件的執(zhí)行备恤。JS代碼執(zhí)行前瀏覽器必須保證CSS文件已經(jīng)下載并加載完畢。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末锦秒,一起剝皮案震驚了整個(gè)濱河市露泊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌旅择,老刑警劉巖惭笑,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異生真,居然都是意外死亡沉噩,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門柱蟀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來川蒙,“玉大人,你說我怎么就攤上這事长已⌒笳#” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵术瓮,是天一觀的道長康聂。 經(jīng)常有香客問我,道長胞四,這世上最難降的妖魔是什么恬汁? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮辜伟,結(jié)果婚禮上氓侧,老公的妹妹穿的比我還像新娘。我一直安慰自己游昼,他們只是感情好甘苍,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著烘豌,像睡著了一般载庭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天囚聚,我揣著相機(jī)與錄音靖榕,去河邊找鬼。 笑死顽铸,一個(gè)胖子當(dāng)著我的面吹牛茁计,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播谓松,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼星压,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了鬼譬?” 一聲冷哼從身側(cè)響起娜膘,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎优质,沒想到半個(gè)月后竣贪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡巩螃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年演怎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片避乏。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡爷耀,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出拍皮,到底是詐尸還是另有隱情畏纲,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布春缕,位于F島的核電站,受9級(jí)特大地震影響艘蹋,放射性物質(zhì)發(fā)生泄漏锄贼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一女阀、第九天 我趴在偏房一處隱蔽的房頂上張望宅荤。 院中可真熱鬧,春花似錦浸策、人聲如沸冯键。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽惫确。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間改化,已是汗流浹背掩蛤。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留陈肛,地道東北人揍鸟。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像句旱,于是被迫代替她去往敵國和親阳藻。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

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