當我輸入google.com(注意,我沒有指定它的HTTP或HTTPS。)在鍍鉻,鍍鉻自動進入https://google.com,這是一個安全的套接字連接,連接到端口443.所以,我的問題是我的瀏覽器如何知道它應該連接到443而不是80?或者,更簡單地說,我的瀏覽器如何知道google.com使用安全套接字的http?如何在Web瀏覽器知道,如果被請求的URL爲https或http
1
A
回答
1
HTTP協議!
鉻默認追加的http://前綴,併發送http://google.com請求的HTTP端口:
GET/HTTP/1.1
Host: google.com
...
然後google.com回覆:
HTTP/1.1 301 Moved Permanently
Location: https:/google.com
...
通知的HTTPS位置標題中的。
然後Chrome自動處理重定向,並將第二個請求發送到HTTPS端口。
GET/HTTP/1.1
Host: google.com
...
並最終在瀏覽器中顯示的內容回覆:
HTTP/1.1 200 OK
....
0
它不是你的瀏覽器,而是谷歌重定向http://www.google.com到https://www.google.com。
1
瀏覽器通常嘗試HTTP第一,然後得到重定向到HTTPS。這是常見的的情況,但不是唯一的情況。 Chrome和Firefox支持HTTP Strict Transport Security Preload Lists
的概念,即僅通過HTTPS聯繫的網站列表,即使以HTTP URL引用也是如此。
您可以瞭解更多關於HSTS here的信息。
相關問題
- 1. 如何在web瀏覽器的url中發送referer請求
- 2. Web瀏覽器如何知道要打開哪個連接,HTTP或HTTP?
- 3. 如何模擬代碼中的Web瀏覽器http請求?
- 4. HTTP請求的瀏覽器
- 5. 請求URL以HTTP或HTTPS在C#
- 6. 我的瀏覽器如何將我的http請求轉換爲https?
- 7. 如何區分Web View或普通瀏覽器的請求
- 8. 如何知道php腳本是HTTPS請求而不是HTTP?
- 9. 如何知道對servlet的請求是否使用HTTP或HTTPS執行?
- 10. 瀏覽器在請求時如何知道發送給服務器的cookie?
- 11. 如果JavaScript在瀏覽器中被禁用,請求Ajax請求是否有效?
- 12. 瀏覽器如何知道給定的URL存在RSS提要
- 13. 如何知道一個請求是否被保護的url
- 14. 如何將curl請求轉換爲瀏覽器URL
- 15. 如何使用Java(Apache HTTP Client)模擬瀏覽器HTTPS POST請求?
- 16. 谷歌瀏覽器發出新請求,如果URL不變
- 17. 未使用瀏覽器的HTTP請求
- 18. 如何檢查HTTP請求是否在瀏覽器中打開?
- 19. 在Web瀏覽器中獲取http請求
- 20. 瀏覽器如何知道scss文件?
- 21. IIS如何阻止來自瀏覽器的http請求
- 22. 如何使用Javascript檢測瀏覽器的HTTP請求?
- 23. 如何處理來自瀏覽器的http請求使用c#
- 24. 如何從一個簡單的URL的Web瀏覽器發生多個請求?
- 25. 如何提出HTTP或HTTPS請求(重點在「或」)
- 26. 瀏覽器如何知道網站是否支持HTTP/2?
- 27. HTTPS是通過瀏覽器取消我的要求被視爲HTTP requeset
- 28. 如何Python請求跟隨我的瀏覽器的URL
- 29. 瀏覽器編碼HTTP請求
- 30. Http請求多瀏覽器麻煩
這真是一個詳細的解釋! – Daniel 2014-09-23 23:42:27