C++ Winsock Determine HTTP or HTTPS



我刚刚开始研究Winsocks,我有一个简单的问题要问你:如何确定与服务器的连接是否必须通过HTTP或HTTPS连接进行?假设我想连接到randomsite.random,我怎么知道我需要什么样的连接?我知道对于HTTP,我必须连接到端口80,而对于HTTPS则需要443,但是我如何确定何时需要HTTPS连接?

感谢您的关注!

与 Web 浏览器决定的方式相同:基于您尝试加载的 URL。在 Web 浏览器中,URL 以 httphttps 开头,用于确定是否应使用 SSL 连接。这也用于确定 URL 中未指定端口号时的端口。

许多站点同时提供安全版本和非安全版本。有些仅提供安全版本,但仍运行非安全服务器,该服务器会重定向到安全版本的URL。如果您实现重定向的跟踪,则无需担心使用哪个版本:它会自动发生。

这通常是您连接到的站点的功能。

如果站点需要HTTPS连接,那么如果您通过HTTP连接,您将获得带有HTTPS URL的重定向响应代码。

首先,它并不总是端口 80 和端口 443。其次,如果您使用错误的通信协议,您将无法建立成功的通信。正如另一个答案中所述,如果您尝试通过HTTP连接到HTTPS服务器,它将为您提供带有HTTPS URL的重定向响应代码。

大多数时候,您事先掌握了这些信息!

最新更新