我刚刚开始研究 Winsocks,我有一个简单的问题要问你:我如何确定与服务器的连接是否必须通过 HTTP 或 HTTPS 连接进行?假设我想连接到 randomsite.random,我怎么知道我需要什么样的连接?我知道对于 HTTP,我必须连接到端口 80,而对于 HTTPS,需要 443,但是我如何确定何时需要 HTTPS 连接?
感谢您的关注!
与 Web 浏览器决定的方式相同:基于您尝试加载的 URL。在 Web 浏览器中,URL 以http
或开头https
,用于确定是否应使用 SSL 连接。如果 URL 中没有指定端口号,这也用于确定端口。
许多网站同时提供安全和非安全版本。有些仅提供安全版本,但仍运行非安全服务器,该服务器会重定向到安全版本的 URL。如果您实现以下重定向,则无需担心要使用哪个版本:它会自动发生。
这通常是您要连接的站点的功能。
如果站点需要 HTTPS 连接,那么如果您通过 HTTP 连接,您将获得带有 HTTPS URL 的重定向响应代码。
首先,并不总是80端口和443端口。其次,如果使用错误的通信协议,将无法建立成功的通信。正如另一个答案中所说,如果您尝试通过 HTTP 连接到 HTTPS 服务器,它将为您提供一个带有 HTTPS URL 的重定向响应代码。
大多数情况下,您事先就有了这些信息!