題 為什麼IP地址對IE9很重要?


啟動Wireshark。 將IE9指向本地,不可路由的IP地址。您將看到一個TCP SYN數據包嘗試連接到主機。

現在將IE9指向遠程可路由的IP地址。您將看到兩個幾乎同時發生的TCP SNY數據包。

為什麼在嘗試訪問可路由的IP地址時,Web瀏覽器的行為會有所不同?


編輯1

這是對該問題的wirehark捕獲。 Wireshark Capture

Pkt 1是不可路由的IP地址的SYN。 3秒後重試。之後6秒再次嘗試。 在Pkt 4,IE9放棄了第一個TCP套接字並打開了另一個(源端口發生了變化)。 3秒和6秒後重試。

Pkt 7是可路由IP地址的SYN。 Pkt 8是同一IP地址的另一個SYN。這是第二個TCP套接字(源端口不同)。


編輯2 這是查看文字的更好圖片: Better image than the first


3
2018-03-29 19:47


起源


我不認為您可以粘貼數據包日誌或屏幕截圖,希望我們可以幫助您更輕鬆一點。 - William Hilsum
我使用google.com和74.125.225.1來測試這個我每次都有兩個TCP SNY數據包... - Not Kyle stop stalking me
可以是一個選項探測器。也許對於ECN。比較兩個數據包中的TCP選項。 - Zan Lynx
@Kyle這些都是可路由的IP地址。如果您打開本地路由器的網頁會發生什麼? - Robert
日誌中的時間戳非常奇怪且令人困惑。 Pkt 7似乎是在Pkt 8之後44秒發出的。 - Jan Schejbal


答案:


你真的需要查看下面的HTTP流來找出發生了什麼。如果您沒有從本地IP和麵向Internet的IP中獲取相同的HTML文檔,那麼您已在此處的調查中引入了其他變量。

在我的腦海中,我會說你的瀏覽器要求提供favicon.ico以及google.com上的index.html。這是兩個單獨的HTTP請求。鑑於AJAX和這樣的Javascript也可能涉及。


0
2018-02-24 19:04





IE使用區域模型,根據網站所屬的區域對網站進行不同的處理。如果您的不可路由IP被視為Intranet區域的一部分,則應該接收不同的處理。這不僅影響安全設置;即使內部網站具有HTML5文檔類型,也可以使用史前渲染標准進行渲染。 (注意:您的測試IP可能會也可能不會被視為Intranet,具體取決於您的配置。)

由於內聯網中的站點通常具有非常低的往返延遲和高可靠性,因此保持較少的並行連接打開是有意義的。 IE也可能以不同的方式做其他事情(例如準備加載某些資源,獲取favicons,......)。

我找不到任何文檔明確聲明任何此類行為根據區域而有所不同,但這對於奇怪的IE行為意味著很少。我解釋了一些我提到的差異 這裡 和 這個文件 提到區域的緩存是獨立的。

即使您沒有啟用Intranet區域,如果IE對不可路由的IP地址進行了一些特殊處理,我也不會感到驚訝(如果在Intranet區域中,無視“忽略HTML5 doctype”顯示了預期的奇怪內容) IE)。

另請注意屏幕截圖中的奇怪時間戳。捕獲或解釋它可能有問題。

TL; DR:不要使用IE。如果你這樣做,如果它做了奇怪的事情,不要感到驚訝。


0
2018-02-24 21:26