以HTTP和HTTPS协议发布请求
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以HTTP和HTTPS协议发布请求相关的知识,希望对你有一定的参考价值。
我们正在尝试在嵌入式系统和Web服务器之间建立安全通信。首先,我们在微控制器中实现HTTP连接。我只是连接到我的Web服务器的80端口并发送简单的GET请求到此端口,如下所示:
GET /foo.php?msg=test HTTP/1.1
HOST: foo.com
我的问题是,我们将如何将其转换为HTTPS?我应该连接哪个端口?上面的GET请求结构会有什么不同吗?我是否必须手动进行一些加密或连接到“https”链接,而“http”是enuogh用于安全通信。
感谢您提供任何信息
答案
HTTP请求和HTTPS请求之间的唯一区别是第一个是通过普通TCP连接发送而另一个是通过TLS连接发送,即:
- 使用HTTP建立TCP连接并通过此连接发送请求
- 使用HTTPS建立TCP连接,将此连接升级到TLS(包括正确的证书验证等等),然后通过此连接发送与HTTP相同的请求。
除此之外,我建议使用已建立的HTTP库或仔细阅读standard。虽然HTTP看起来很简单但实际上并不存在,并且在这里存在许多问题,用户尝试执行简单的HTTP请求并跳过他们没有预料到的行为。
例如,在您的情况下,服务器可能会发送带有分块编码的响应,带有内容长度,或者只是以连接关闭结束它。它可能会等待同一连接上的进一步请求,因为HTTP / 1.1隐式启用HTTP keep-alive。您的代码是否真的能解决所有这些问题?
以上是关于以HTTP和HTTPS协议发布请求的主要内容,如果未能解决你的问题,请参考以下文章