以HTTP和HTTPS协议发布请求

问题描述 投票:0回答:1

我们正在尝试在嵌入式系统和Web服务器之间建立安全通信。首先,我们在微控制器中实现HTTP连接。我只是连接到我的Web服务器的80端口并发送简单的GET请求到此端口,如下所示:

GET /foo.php?msg=test HTTP/1.1
HOST: foo.com

我的问题是,我们将如何将其转换为HTTPS?我应该连接哪个端口?上面的GET请求结构会有什么不同吗?我是否必须手动进行一些加密或连接到“https”链接,而“http”是enuogh用于安全通信。

感谢您提供任何信息

http ssl https http-post http-get
1个回答
0
投票

HTTP请求和HTTPS请求之间的唯一区别是第一个是通过普通TCP连接发送而另一个是通过TLS连接发送,即:

  • 使用HTTP建立TCP连接并通过此连接发送请求
  • 使用HTTPS建立TCP连接,将此连接升级到TLS(包括正确的证书验证等等),然后通过此连接发送与HTTP相同的请求。

除此之外,我建议使用已建立的HTTP库或仔细阅读standard。虽然HTTP看起来很简单但实际上并不存在,并且在这里存在许多问题,用户尝试执行简单的HTTP请求并跳过他们没有预料到的行为。

例如,在您的情况下,服务器可能会发送带有分块编码的响应,带有内容长度,或者只是以连接关闭结束它。它可能会等待同一连接上的进一步请求,因为HTTP / 1.1隐式启用HTTP keep-alive。您的代码是否真的能解决所有这些问题?

© www.soinside.com 2019 - 2024. All rights reserved.