您好,登錄后才能下訂單哦!
鍵入網址,按回車,發生了什么???
第一步:瀏覽器從地址欄的輸入中獲得服務器的 IP 地址和端口號
如果鍵入的是域名,首先要進行域名解析,把域名解析為服務器的IP地址。
解析的過程如下,在解析過程中會有多級緩存:
瀏覽器先看自己的緩存有沒有--->如果沒有,再檢查操作系統的緩存--->如果還沒有,本地的Host文件--->野生DNS服務器(包括本地 DNS)、根 DNS、頂級 DNS、權威 DNS
注意:
DNS解析有可能會給到的是CDN服務器的IP地址,然后CDN直接返回靜態資源,而不必請求源站。
第二步:瀏覽器用TCP的三次握手與服務器建立連接
第三步:瀏覽器向服務器發送拼好的報文
第四步:服務器收到報文后處理請求,同樣拼好報文再發給瀏覽器
第五步:瀏覽器解析報文,渲染輸出頁面
第六步:由于HTTP的長連接特性,默認不會立即關閉連接,所以暫時不會有四次揮手
此圖來源于網絡
CDN緩存的是靜態資源,對于動態的資源,只能從目標網站獲取。
請求達到負載均衡服務器(比如Nginx),
負載均衡設備會先訪問系統里的緩存服務器,
通常有 memory 級緩存 Redis 和 disk 級緩存 Varnish,
它們的作用與 CDN 類似,不過是工作在內部網絡里,
把最頻繁訪問的數據緩存幾秒鐘或幾分鐘,減輕后端應用服務器的壓力。
如果緩存服務器里也沒有,那么負載均衡設備就要把請求轉發給應用服務器了。
比如Java 的 Tomcat,Python 的 Django,然后會再訪問后面的數據庫服務,
再把執行的結果返回給負載均衡設備,同時也可能給緩存服務器里也放一份。
下圖來源與網絡
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。