簡體   English   中英

Web服務器如何處理端口和IP地址相同的連接?

[英]How web server handles connections which are same ports & IP Addresses?

我在計算機上打開IE資源管理器和Chrome,然后輸入localhost:80,我得到了索引頁。

在這里,我認為我的機器的IP對兩個連接(IE Explorer和Chrome)都是相同的,而端口也是如此(80個)。 注意:源端口將不同(因為目標是相同的:localhost IP),這是我的第二個問題。

  1. 那么,網絡服務器(讓我們說Apache)如何處理此80端口連接而不會失敗? 是否端口轉發? 在操作系統級別上,即使我嘗試了addr重用,端口重用參數,我們都無法使用相同的IP和端口進行多次連接。

  2. 現在,您可能想出了一個解決方案:盡管源端口和IP相同,但目標端口在軟件包中卻有所不同: <protocol>, <src addr>, <src port>, <dest addr>, <dest port> 答:我在圖像上看到了49483〜50004個端口。 客戶端如何知道Web服務器綁定了哪個目標端口(49483〜50004)? 如果在0到65355之間隨機,則Web服務器將始終綁定所有端口,這將非常消耗資源。 網絡服務器如何避免這種情況?

看這張圖:命令提示符-> netstat

如果此問題與底層資源相關,則可以,我了解嵌入式TCP / IP / UDP,Phy MAC通信和包結構。

一切都從頭到尾。

  • 服務器上的所有端口號都相同:80。因此,客戶端只需知道端口80。
  • 客戶端上的所有端口號都不同:49483-50004等。因此,連接中沒有歧義,因為您提到的4元組是唯一的。

默認情況下,所有http請求都調用端口80中的服務器,因為服務器默認在該端口中進行偵聽。 因此,您只需提供IP或主機名,然后Web瀏覽器將添加默認端口(80)。 如果您的Web服務器正在另一個端口偵聽(例如,默認情況下是Tomcat在8080中偵聽),則可以提供一個自定義端口,例如,您在以下位置調用它: http://www.youamazingweb.com:8080 : http://www.youamazingweb.com:8080 :8080。

一個很好的例子是將IP視為家庭,而端口是客戶進入以消耗服務器中托管的某些資源的大門。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM