假設我要打開:
https://example.com
電腦大概會經過幾個階段。
我輸入的是 example.com,不是 IP。
所以通常會先做 DNS 查詢。
也就是 電腦會先問DNS服務:
example.com 的 IP 是多少?
拿到 IP 之後,資料才知道要往哪裡送。
如果目的地不在自己家裡這個網路,資料會依路由設定出門。
通常會交給 Default Gateway。
接著還要找到服務。
HTTPS 常見是 TCP 443。
所以這時候已經有:
Domain → IP → Port
如果走 TCP,就會出現之前講過的三向交握。
SYN
SYN, ACK
ACK
這段完成後,連線才算建立。
因為大部分網頁是 HTTPS,接下來會有 TLS 相關流程。
雙方協商好怎麼保護後面的資料。
再往後,HTTP Request / Response 就在這層保護裡進行。
整件事畫成很簡化的流程,大概是:
輸入網址
↓
DNS 查 IP
↓
透過路由出門
↓
TCP 建立連線
↓
TLS 建立安全通道
↓
HTTP Request / Response
↓
瀏覽器顯示網頁
真實世界會更複雜。
可能有快取、CDN、HTTP/2、HTTP/3、QUIC,各種東西插進來。