概略的基本原理
- 透過瀏覽器輸入網址
- 透過網址的 doamin和資訊,與 DNS伺服器取得該網址所對應的 ip及 port號
- 開始與伺服器建立三項交握
- 瀏覽器對伺服器發出第一個互動,詢問該伺服器是否存在
- 伺服器回應
- 瀏覽器回應: 將開始發送請求
- 若是HTTPS請求,進行SSL握手
- 連結到該伺服器後,向伺服器發出第一個 request請求(常見如HTTP或 HTTPS協定),這個請求通常是該網頁的 HTML文本,此步驟屬於TCP/IP的應用層
- 伺服器透過 TCP、UDP..等等協定發送封包到瀏覽器,當瀏覽器收到封包後獲得如200 OK..等等的status code,此步驟屬於TCP/IP的傳輸層
- 瀏覽器開始解析第一個 HTML文本,過程由上向下逐行解析,若有css、js、img等等的需求時,會再向伺服器端發送新的 requst請求
- 除了持續發送請求,瀏覽器的渲染引擎也持續在渲染 DOM tree(建立網頁 Layout),並透過伺服器回應的 CSS持續渲染網頁樣式
- 四次揮手結束瀏覽器與網頁伺服器連線