當我們使用電腦開啟瀏覽器並連接到一個網站時,例如進入 Google,實際上是透過以下方式進行通訊的:
Server 端的 Port(伺服器端的埠口)
Google 作為伺服器(Server),會開啟一個固定的埠口來提供服務,例如 443 port 用於 HTTPS(安全加密協議)。
這些伺服器埠口通常是一些大家公認的標準埠口,例如 HTTP 的 80 port 或 HTTPS 的 443 port。
Client 端的 Port(客戶端的埠口)
我們的電腦作為用戶端(Client),當連接伺服器時,會隨機選擇一個埠口作為暫時使用的通道,這些埠口範圍通常在 1024 到 65535 之間。
這類埠口叫做 Ephemeral Ports(短暫埠),它們僅在連線期間有效,連線結束後就會釋放。
為什麼不會用 80 port?
我們的電腦作為客戶端,不會使用 80 port 或 443 port 這類伺服器專用的埠口。
取而代之的是,電腦會動態地從 1024 到 65535 的範圍中隨機挑選埠口來與伺服器通訊。
多開瀏覽器會發生什麼?
當你同時開啟多個網頁或瀏覽器,每一個網頁的連線都會使用不同的短暫埠(Ephemeral Port)。
這樣可以確保所有連線互不干擾,並且能正確地找到對應的伺服器回應。
注意事項
不同的作業系統對於 Ephemeral Ports 的範圍可能略有差異,例如:
Windows 10 的範圍通常是 49152 到 65535。
某些 Linux 系統 可能設定在 32768 到 60999。
這些細節主要是設計來避免衝突並提高網路通訊的效率
但對初學者來說,只要記得:
伺服器埠口固定,客戶端埠口是動態的!