使用HTTP和HTTPS协议发布请求

时间:2017-06-22 07:59:52

标签: http ssl https http-post http-get

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

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

我的问题是,我们将如何将其转换为HTTPS?我应该连接哪个端口?  上面的GET请求结构会有什么不同吗?我是否必须手动进行一些加密或连接到" https"链接#34; http"是安全沟通的理想选择。

感谢您提供任何信息

1 个答案:

答案 0 :(得分:0)

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

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

除此之外,我建议使用已建立的HTTP库或仔细阅读standard尽管HTTP看起来很简单但实际上并不是,并且这里有很多问题,用户试图简单地执行HTTP请求并跳过他们没想到的行为。

例如,在您的情况下,服务器可能会发送带有chunked编码的响应,包含content-length,或者只是以连接关闭结束它。它可能会等待同一连接上的进一步请求,因为HTTP / 1.1隐式启用HTTP keep-alive。您的代码是否确实考虑了所有这些情况?