摘要:很早之前就想寫一篇關(guān)于頁面請求整個過程的文章。遞歸查詢這個過程詳細可以。服務(wù)器處理請求如圖,請求經(jīng)轉(zhuǎn)發(fā)給進行處理。請求處理就是一個能夠讀懂請求并且能夠生成來進行響應(yīng)的程序像。瀏覽器開始顯示在瀏覽器沒有完整接受全部文檔時,就開始顯示頁面了。
很早之前就想寫一篇關(guān)于頁面請求整個過程的文章。當(dāng)然,這樣的文章網(wǎng)上到處都是。而且自己寫的并沒有比別人好,那為什么還要寫那。人都是善忘的動物,寫下來主要是作為備忘,同時鍛煉下自己的表達能力。畢竟能把一個問題講明白才能說明真正的懂了。
首先,在瀏覽器輸入網(wǎng)址(www.melody.com/index.php) 瀏覽器查找該域名對應(yīng)的 IP 地址(DNS 解析)
DNS 解析過程:
瀏覽器緩存 - 瀏覽器會緩存 DNS記錄一段時間,俺電腦上的谷歌瀏覽器默認是1分鐘。
hosts 文件 - 不同系統(tǒng)放置的目錄不一樣,Mac 是在 /etc/hosts.
路由器緩存 - 額,這個就沒什么好說的了。
ISP 解析服務(wù)器 - 其實這個是 DNS記錄的緩存。
遞歸查詢 - 這個過程詳細可以google。這個查詢是由 ISP 的解析服務(wù)器發(fā)起的,所以查到后,ISP 會將記錄緩存后發(fā)送給瀏覽器。
注:DNS 查找的過程就這樣完成了, 假設(shè)查詢到的 IP 地址為 115.26.23.117。值得注意的是(4)中,一般默認是運營商解析服務(wù)器。比如筆者用的是聯(lián)通的寬帶,默認的就是聯(lián)通的解析服務(wù)器。linux/mac 可以通過?cat /etc/resolv.conf 查看。
瀏覽器發(fā)起到115.26.23.117端口80的連接TCP 連接建立需要經(jīng)歷三次握手(SYN -> SYN+ACK -> ACK)
瀏覽器給Web服務(wù)器發(fā)送一個HTTP請求詳細的報文分析可以參考《HTTP權(quán)威指南》,這里不做贅述。服務(wù)器接收請求
如圖1,實際上是Nginx 接收了請求。
如圖1,請求經(jīng)Nginx 轉(zhuǎn)發(fā)給App Server 進行處理。
請求處理就是一個能夠讀懂請求并且能夠生成HTML來進行響應(yīng)的程序(像Python、PHP、Ruby)。
?服務(wù)器返回一個HTML響應(yīng)APP Server 生成一個HTML響應(yīng)經(jīng)Nginx 返回給瀏覽器。
瀏覽器開始顯示HTML在瀏覽器沒有完整接受全部HTML文檔時,就開始顯示頁面了。
瀏覽器會根據(jù)響應(yīng)報頭的信息來決定如何解釋該響應(yīng)。
?瀏覽器獲取嵌入在HTML中的對象(css、js、img等)如:
總結(jié)一下: 1. 加深下記憶
2. 參考: http://www.cnblogs.com/wenanr...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/23214.html
摘要:前段時間重構(gòu)一個頁面,頁面中存在通過第三方代碼插入的動態(tài)廣告正常的產(chǎn)品需求,上線后發(fā)現(xiàn)第三方的廣告資源存在重復(fù)請求的問題。所以,同一個請求會觸發(fā)兩次的原因頁面加載時渲染元素會觸發(fā)第一次請求,執(zhí)行代碼導(dǎo)致重新渲染觸發(fā)第二次請求。 前段時間重構(gòu)一個頁面,頁面中存在通過第三方JavaScript代碼插入的動態(tài)廣告(正常的產(chǎn)品需求),上線后發(fā)現(xiàn)第三方的廣告資源存在重復(fù)請求的問題。由于控制廣告插...
摘要:前段時間重構(gòu)一個頁面,頁面中存在通過第三方代碼插入的動態(tài)廣告正常的產(chǎn)品需求,上線后發(fā)現(xiàn)第三方的廣告資源存在重復(fù)請求的問題。所以,同一個請求會觸發(fā)兩次的原因頁面加載時渲染元素會觸發(fā)第一次請求,執(zhí)行代碼導(dǎo)致重新渲染觸發(fā)第二次請求。 前段時間重構(gòu)一個頁面,頁面中存在通過第三方JavaScript代碼插入的動態(tài)廣告(正常的產(chǎn)品需求),上線后發(fā)現(xiàn)第三方的廣告資源存在重復(fù)請求的問題。由于控制廣告插...
摘要:一盡可能減少請求什么是請求官方回答從客戶端到服務(wù)器端的請求消息包括消息首行中對資源的請求方法資源的標(biāo)識符及使用協(xié)議菜鳥回答當(dāng)你打開網(wǎng)頁的時候所看到的文字圖片多媒體等都是從服務(wù)器獲取的每一個內(nèi)容的獲取就是請求把圖片合并二使用內(nèi)容分發(fā)網(wǎng)絡(luò)官方回 一、盡可能減少Http請求 什么是Http請求?官方回答:從客戶端到服務(wù)器端的請求消息包括消息首行中對資源的請求方法 資源的標(biāo)識符及使用協(xié)議菜鳥回...
閱讀 2201·2021-11-24 10:26
閱讀 2812·2021-11-23 09:51
閱讀 2923·2021-10-08 10:05
閱讀 1711·2021-09-22 15:18
閱讀 1639·2019-08-29 18:45
閱讀 2157·2019-08-29 18:40
閱讀 3348·2019-08-29 16:16
閱讀 2863·2019-08-29 14:21