2014-04-01 72 views
1

我有很奇怪的情況。我正在處理域example.net,其中一些頁面通過https和一些通過http傳遞(但也可以使用https訪問http資源)。當我訪問使用http協議交付的頁面http://example.net/page1.html時,Chrome執行HTTP請求。然後,當我通過HTTPS訪問https://example.net/page2.html時,Chrome會執行HTTPS請求。直到現在,所有事情都應該如此。然後我嘗試通過HTTP訪問http://example.net/page1.html,但Chrome執行HTTPS請求。Chrome或FireFox可以強制https請求而不是http請求嗎?

我的第一個想法是,http://example.net/page1.html重定向到https://example.net/page1.html但事實並非如此。訪問http://example.net/page1.html(第二次),我看到已經「完成」狀態,「其他」在HTTP請求條目時

  • 在「網絡」選項卡中的Web開發工具:下面是我查的事情列表啓動器列,13個字節,並在5毫秒內完成(對主機的其他請求都在150ms +範圍內) - 顯然Chrome取消了請求。請求後跟https://example.net/page1.html請求。
  • 我已經確認使用Wireshark,第一次訪問http://example.net/page1.html時發送到example.net服務器的第一個數據包是端口443,所以它不是重定向強制https的服務器。
  • 切換到「隱私瀏覽」模式不利於,HTTP請求仍然變更爲HTTPS請求,
  • 我沒有到處HTTPS或安裝任何類似,
  • 消滅瀏覽器歷史似乎這樣的伎倆,但我需要弄清楚爲什麼Chrome和FF堅持https,
  • 其他網絡服務器似乎工作正常,我可以自由切換http和https,
  • IE不強制https。

是否有一些新的安全策略,服務器頭等,迫使Chrome瀏覽器和FireFox在瀏覽器發現服務器響應https後強制https?我正在研究最新的Chrome(33.0.1750.154)和FF(28.0)。

+1

服務器可能以前已經返回['301永久移動](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.2)重定向HTTPS之一的HTTP URI?這樣的響應是可緩存的。 – eggyal

+0

謝謝,好點。不幸的是,它不是,但值得牢記。 – matt

回答

2

事實證明,在HTTPS響應期間可以設置標頭Web服務器來告訴瀏覽器在所有請求上強制使用HTTPS。您可以在這裏閱讀更多關於它的信息HTTP Strict Transport Security

相關問題