HTTP和HTTPS协议中的Post请求

HTTP和HTTPS协议中的Post请求,http,ssl,https,http-post,http-get,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”链接,而“http”是用于安全通信的Enough 感谢您提供的所有信息,HTTP

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

GET /foo.php?msg=test HTTP/1.1
HOST: foo.com
我的问题是,我们将如何将其转换为HTTPS?我应该连接哪个端口? 上面的GET请求的结构有什么不同吗?我是否需要手动进行加密,或者连接到“https”链接,而“http”是用于安全通信的Enough


感谢您提供的所有信息,HTTP请求和HTTPS请求之间的唯一区别在于,第一个请求通过普通TCP连接发送,而另一个请求通过TLS连接发送,即:

  • 使用HTTP建立TCP连接并通过该连接发送请求
  • 使用HTTPS建立TCP连接,将此连接升级到TLS(包括正确的证书验证等!)然后通过此连接发送与使用HTTP相同的请求
除此之外,我建议使用一个已建立的HTTP库或仔细阅读虽然HTTP看起来很简单,但实际上并不是,这里有很多问题,用户试图执行一个简单的HTTP请求,并尝试他们没有预料到的行为


例如,在您的情况下,服务器可能使用分块编码、内容长度发送响应,或者简单地以连接关闭结束响应。由于HTTP/1.1隐式启用HTTP保持活动,因此它可能会等待同一连接上的进一步请求。您的代码真的解释了所有这些情况吗?

在我们收到服务器的响应之后。我们正在手动关闭通信。@user3077756:您如何知道服务器何时发送响应?下面是我们的服务器响应示例+IPD,343:HTTP/1.1 200 OK内容类型:应用程序/json服务器:Microsoft IIS/8.5 X-Powered-By:ASP.NET X-Powered-By-Plesk:PleskWin日期:2017年6月22日星期四08:46:25 GMT内容长度:154{“success”:1}当我看到“success”时,我知道服务器响应了我。这适用于大多数情况。对于其他情况,我们在嵌入式和服务器端都实现了其他连接句柄机制。实际上,您假设的是一种非常特定的服务器行为,即不是一般的HTTP处理。希望您也能完全控制服务器,这样您所做的特定于服务器的假设永远不会改变。