我的浏览器如何知道它需要连接到端口 443 或端口 80?

hse*_*v86 3 sockets https http port-number

这就是我正在尝试做的事情:

  1. 打开浏览器并开始浏览任何 https 网站,例如 Gmail 或 Google.com

  2. 我可以通过Wireshark看到名称解析是由DNS服务器完成的。

  3. 但之后直接建立到443端口的连接(从TCP握手开始)

  4. 我无法理解的一件事是,浏览器如何知道它需要连接到端口 443,我尝试探索 DNS 数据包,但它只包含目标地址,并且没有任何信息表明它需要连接连接到端口 443。

  5. 即使说,浏览器在第一次查询时具有优先权,它会看到如果端口 443 打开,则连接到它或连接到端口 80,但如果我连接到正常的HTTP网站,从某种意义上说,如果我访问正常的 HTTP 网站,浏览器没有流量表明它首先搜索了端口 443,然后转到端口 80。

我确信我在这里遗漏了一些东西,但不确定它是什么。

use*_*421 5

https:URL 中的的存在说明了这一点。

  • 抱歉,我想我没有正确解释,我想做的是,在 chrome 浏览器中,我刚刚输入 dropbox.com,它直接将我带到“https 版本的 dropbox”,当我嗅探数据包,我没有看到任何重定向,所以我不确定浏览器如何知道它需要将我带到“https 版本的 dropbox”而不是“http 版本的 dropbox” (2认同)