摘要:一個(gè)網(wǎng)頁(yè)從我們輸入網(wǎng)址到打開經(jīng)歷了以下步驟。如果沒有或記錄已經(jīng)過期,則向域名解析服務(wù)器發(fā)送解析請(qǐng)求。服務(wù)器收到請(qǐng)求,產(chǎn)生響應(yīng),并將網(wǎng)頁(yè)發(fā)送給負(fù)載均衡服務(wù)器。負(fù)載均衡服務(wù)器將網(wǎng)頁(yè)傳遞給鏈處理,之后發(fā)回給我們的瀏覽器。
一個(gè)網(wǎng)頁(yè)從我們輸入網(wǎng)址到打開經(jīng)歷了以下步驟。DNS解析
DNS(域名系統(tǒng) Domain Name System)由解析器和域名服務(wù)器組成,域名服務(wù)器保存著該網(wǎng)絡(luò)中所有主機(jī)的域名和對(duì)應(yīng)的IP地址,域名有唯一對(duì)應(yīng)的IP地址,但是IP地址不一定對(duì)應(yīng)一個(gè)域名,我們就是根據(jù)DNS來上網(wǎng)的。
當(dāng)用戶輸入一個(gè)網(wǎng)址并按下回車鍵時(shí),瀏覽器得到一個(gè)域名。而實(shí)際通訊過程中我們需要一個(gè)IP地址。因此我們需要先把域名轉(zhuǎn)化成對(duì)應(yīng)的IP地址,這個(gè)過程就叫做DNS解析。
簡(jiǎn)述
瀏覽器搜索緩存-->hosts文件和操作系統(tǒng)緩存-->域名解析服務(wù)器-->遞歸迭代
YSE-->返回給瀏覽器
NO-->向下找
詳細(xì)描述
瀏覽器首先搜索自身緩存的DNS記錄。
如果沒有或記錄已經(jīng)過期,則搜索hosts文件和操作系統(tǒng)緩存。
如果沒有或記錄已經(jīng)過期,則向域名解析服務(wù)器發(fā)送解析請(qǐng)求。
如果還是沒有,則開始遞歸 + 迭代解析。
獲取域名和對(duì)應(yīng)IP后,一步步向上返回,直到返回給瀏覽器。
發(fā)起TCP請(qǐng)求(三次握手)簡(jiǎn)述
客戶端(發(fā)送連接請(qǐng)求)-->服務(wù)器端
服務(wù)器端(建立連接并發(fā)送確認(rèn)報(bào)文)-->客戶端
客戶端(發(fā)送確認(rèn)收到確認(rèn)報(bào)文)-->服務(wù)器端
詳細(xì)描述
客戶端向服務(wù)器端發(fā)送連接請(qǐng)求的報(bào)文。
服務(wù)器端收到請(qǐng)求后,同意建立連接,并向客戶端發(fā)送確認(rèn)報(bào)文。
客戶端收到后,再次向服務(wù)器端發(fā)送報(bào)文,確認(rèn)已經(jīng)收到確認(rèn)報(bào)文。
建立起TCP連接后,開始進(jìn)行通信。
建立TCP連接后,瀏覽器向服務(wù)器發(fā)送HTTP請(qǐng)求如:瀏覽器發(fā)出取文件指令GET。
負(fù)載均衡當(dāng)一臺(tái)服務(wù)器無法支持大量用戶訪問時(shí),將用戶分?jǐn)偟絻蓚€(gè)或多個(gè)服務(wù)器上的方法叫負(fù)載均衡。
簡(jiǎn)述
瀏覽器(發(fā)送請(qǐng)求)-->Nginx(建立TCP連接,轉(zhuǎn)發(fā)請(qǐng)求)-->web服務(wù)器(發(fā)送網(wǎng)頁(yè))-->Nginx(傳遞網(wǎng)頁(yè))-->filter鏈(處理)-->瀏覽器
詳細(xì)描述
一般,如果我們的平臺(tái)配備了負(fù)載均衡的話,前一步DNS解析獲得的IP地址應(yīng)該是我們Nginx負(fù)載均衡服務(wù)器的IP地址。所以,我們的瀏覽器將我們的請(qǐng)求發(fā)送到了Nginx負(fù)載均衡服務(wù)器上。
Nginx根據(jù)我們?cè)O(shè)定的分配算法和規(guī)則,選擇一臺(tái)后端的真實(shí)Web服務(wù)器,與之建立TCP連接、并轉(zhuǎn)發(fā)我們?yōu)g覽器發(fā)出去的網(wǎng)頁(yè)請(qǐng)求。
Web服務(wù)器收到請(qǐng)求,產(chǎn)生響應(yīng),并將網(wǎng)頁(yè)發(fā)送給Nginx負(fù)載均衡服務(wù)器。
Nginx負(fù)載均衡服務(wù)器將網(wǎng)頁(yè)傳遞給filter鏈處理,之后發(fā)回給我們的瀏覽器。
服務(wù)器響應(yīng)HTTP請(qǐng)求,將請(qǐng)求的資源發(fā)送給瀏覽器。 瀏覽器釋放TCP連接(四次揮手)瀏覽器(發(fā)送釋放連接報(bào)文)-->服務(wù)器
服務(wù)器(發(fā)送確認(rèn)報(bào)文并發(fā)送完數(shù)據(jù))-->瀏覽器
服務(wù)器(發(fā)送釋放連接請(qǐng)求)-->瀏覽器
瀏覽器(發(fā)出確認(rèn))-->服務(wù)器
等待一段時(shí)間后,瀏覽器釋放TCP連接
瀏覽器向服務(wù)器發(fā)送釋放連接報(bào)文。
服務(wù)器收到后,發(fā)出確認(rèn)報(bào)文,然后將服務(wù)器上未傳送完的數(shù)據(jù)發(fā)送完。
服務(wù)器數(shù)據(jù)傳輸完成后,向?yàn)g覽器發(fā)送釋放連接請(qǐng)求。
瀏覽器收到后,發(fā)出確認(rèn),然后等待一段時(shí)間,釋放TCP連接。
瀏覽器渲染瀏覽器接收到服務(wù)器服務(wù)器返回的HTML頁(yè)面代碼,在解析和渲染這個(gè)頁(yè)面時(shí),里面的JS、CSS、圖片等靜態(tài)資源,也是一個(gè)個(gè)HTTP請(qǐng)求,都需要經(jīng)過上面的步驟。
瀏覽器根據(jù)頁(yè)面內(nèi)容,生成DOM Tree。
根據(jù)css內(nèi)容,生成CSS Rule Tree(規(guī)則樹)。
調(diào)用JS執(zhí)行引擎執(zhí)行JS代碼。
根據(jù)DOM Tree和 CSS Rule Tree生成 Render Tree(呈現(xiàn)樹)。
根據(jù)根據(jù)Render Tree渲染網(wǎng)頁(yè)。
文章參考自https://www.jianshu.com/p/0c8c7cecf946和https://www.jianshu.com/p/cc1d185a7842
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/53799.html
摘要:本質(zhì)上知識(shí)圖譜旨在描述真實(shí)世界中存在的各種實(shí)體或概念及其關(guān)系其構(gòu)成一張巨大的語義網(wǎng)絡(luò)圖,節(jié)點(diǎn)表示實(shí)體或概念,邊則由屬性或關(guān)系構(gòu)成。圖知識(shí)圖譜示例知識(shí)圖譜的架構(gòu)知識(shí)圖譜的架構(gòu)包括自身的邏輯結(jié)構(gòu)以及構(gòu)建知識(shí)圖譜所采用的技術(shù)體系架構(gòu)。 引言隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡(luò)數(shù)據(jù)內(nèi)容呈現(xiàn)爆炸式增長(zhǎng)的態(tài)勢(shì)。由于互聯(lián)網(wǎng)內(nèi)容的大規(guī)模、異質(zhì)多元、組織結(jié)構(gòu)松散的特點(diǎn),給人們有效獲取信息和知識(shí)提出了挑戰(zhàn)。知識(shí)圖譜(Know...
摘要:在美團(tuán)支付的前端技術(shù)體系里,通過預(yù)渲染提升網(wǎng)頁(yè)首幀優(yōu)化,從而優(yōu)化了白屏問題,提升用戶體驗(yàn),并形成了最佳實(shí)踐。我們團(tuán)隊(duì)主要負(fù)責(zé)美團(tuán)支付相關(guān)的業(yè)務(wù),如果網(wǎng)站太慢會(huì)影響用戶的支付體驗(yàn),會(huì)造成客訴或資損。 前言 自JavaScript誕生以來,前端技術(shù)發(fā)展非常迅速。移動(dòng)端白屏優(yōu)化是前端界面體驗(yàn)的一個(gè)重要優(yōu)化方向,Web 前端誕生了 SSR 、CSR、預(yù)渲染等技術(shù)。在美團(tuán)支付的前端技術(shù)體系里,通...
摘要:文章同步到技術(shù)內(nèi)幕之頁(yè)面渲染過程最近拜讀了傳說中的技術(shù)內(nèi)幕一書,有很大收獲,尤其是對(duì)頁(yè)面渲染有了較深的認(rèn)識(shí)。解析語法分析,基于詞法解釋器生成的新標(biāo)記,構(gòu)建成抽象語法樹,解析器嘗試將其與某條語法規(guī)則進(jìn)行匹配。 文章同步到github《Webkit技術(shù)內(nèi)幕》之頁(yè)面渲染過程 最近拜讀了傳說中的《Webkit技術(shù)內(nèi)幕》一書,有很大收獲,尤其是對(duì)頁(yè)面渲染有了較深的認(rèn)識(shí)。由于功力有限,而且書中設(shè)...
摘要:文章同步到技術(shù)內(nèi)幕之頁(yè)面渲染過程最近拜讀了傳說中的技術(shù)內(nèi)幕一書,有很大收獲,尤其是對(duì)頁(yè)面渲染有了較深的認(rèn)識(shí)。解析語法分析,基于詞法解釋器生成的新標(biāo)記,構(gòu)建成抽象語法樹,解析器嘗試將其與某條語法規(guī)則進(jìn)行匹配。 文章同步到github《Webkit技術(shù)內(nèi)幕》之頁(yè)面渲染過程 最近拜讀了傳說中的《Webkit技術(shù)內(nèi)幕》一書,有很大收獲,尤其是對(duì)頁(yè)面渲染有了較深的認(rèn)識(shí)。由于功力有限,而且書中設(shè)...
閱讀 1254·2023-04-25 18:57
閱讀 2141·2023-04-25 16:28
閱讀 3946·2021-11-24 09:39
閱讀 3641·2021-11-16 11:45
閱讀 1830·2021-10-13 09:40
閱讀 1271·2019-08-30 15:52
閱讀 1724·2019-08-30 10:57
閱讀 670·2019-08-29 16:55