看板 Network 關於我們 聯絡資訊
不好意思, 新手自學網路 最近自學到 TCP/IP stack 到 application 與 transportation layer 如何運作的地方 但是這邊有個地方 , 書上沒有講解 , google 也不知道如何描述這個問題 就是資料上都會說 , port 總數有 65536 個, TCP 會到這邊依照 port 編號 , 把不同的 pack 傳給各個 App , 前段部分因為歷史的因素, 所以有被預設為某些服務 , 例如 : 80 HTTP , 443 HTTPs 之類的 那我的問題是 照理說一個 port 只有一個 app 可以佔著使用 例如我開一個 HTTP server 一直 listening localhost:5500 那我要開第二個 server 就無法 listening port 5500 那為什麼我可以同時開 chrome 及 firefox 開很多頁面 , 同時訪問很多 HTTP 或 HTTPs 的網頁?? 照理說 同一個 80 port 應該只有一個 browser page 可以佔住來訪問一個 HTTP 的頁面對吧? 那同一個瀏覽器 , 開另一個新的 page 訪問另一個 HTTP 的頁面 , 那這個新的 page 使用的也是 80 port 嗎? 這個問題不太理解 , 所以想問下面哪一個想法比較接近??? 1. 我整個理解錯誤了嗎? 整個網路運作不是我想得這樣 2. 所有 browser 所有的 page 在訪問 HTTP 的頁面的時候都是使用 80 port 但是每個頁面不同的流量是靠更上層的 application layer 來處理 , 把不同 page 的流量再分給不同的 page 但是這邊延伸出一個問題 , 就是不同的瀏覽器怎麼去辨識哪一個才是自己的流量封包 3. 還是其實 80 port 只會給開瀏覽器的第一個 page 使用, 但是第二個之後的新 page 就是隨機占用其它後段的 port 了, 例如隨機使用 port 10000 , 因此 HTTP 不會只使用 80 port , 是這樣嗎? 請問哪一個才對呢? 希望有版友可以幫忙解惑, 回答我這個網路 ABC 等級的問題 , 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.227.179.163 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Network/M.1577686071.A.4D3.html ※ 編輯: gowrite (61.227.179.163 臺灣), 12/30/2019 14:08:44 ※ 編輯: gowrite (61.227.179.163 臺灣), 12/30/2019 14:12:01
birdy590: 對面都是80/443 但local port不一樣啊 12/30 14:39
armpaul: 你可以安裝 Tomcat 看看 就知道 8080 port 跟 80 port 不 01/01 11:35
armpaul: 同 通常開發環境都用 8080 port 你愛用哪個port都可以設 01/01 11:36
armpaul: 定 先佔先贏 也請沿用大家習慣的用法 01/01 11:37
armpaul: 不同作業系統 有不同的 the list of open ports 指令 01/01 11:57
armpaul: 都列出來 自己可以觀察看看 01/01 11:58
armpaul: 我有些 application 開發經驗 大概了解 http/https 01/01 12:07
armpaul: request 處理的方式 你也可以看看這方面的書 01/01 12:08
ickatw: 這80.443那不是對方的port麼?你本地port只能被一個程式獨 01/02 08:38
ickatw: 佔那是本地的port.是這樣理解? 01/02 08:38
sses40416: 可以參考一下NAT 01/03 14:43
sossospk: 80/443 是你目標的 port 你本機是用其他 port 去連的 , 01/08 22:12
sossospk: 建議可以用鯊魚截封包,你會更清楚 01/08 22:12