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