雷竞技注册
新闻

为什么你应该了解HTTP和HTTPS

2017年1月6日通过大卫·威廉姆斯

每次浏览到网站时,应用层协议HTTP或HTTPS中的一个都在使用中,但是几个在线物联网平台将HTTP(S)放入用于机器到机器通信。

HTTP和HTTPS是Internet上使用最广泛应用的应用层协议中最广泛的两个。每次浏览到一个网站时,两种协议中的一个都在使用中,但几个在线事物互联网平台将HTTP(S)放入用于机器到机器通信。

HTTP和HTTPS

HTTP或超文本传输协议是应用层协议,它在互联网上移动大量数据。HTTPS基本上是相同的协议,只是增加了一层身份验证和加密(S代表安全)。有很多很好的文章和文档描述了HTTP和HTTPS的细节;本文的目的是讨论如何在物联网中使用HTTP和HTTPS,特别是用于机器对机器的通信。出于本文的目的,我将引用HTTP,但是除非另有说明,相同的思想适用于HTTPS。

顾名思义,超文本传输协议是为了在互联网上传输超文本(通常是HTML)而设计的。当你浏览一个网站时,你的浏览器创建并发送一个HTTP请求到网站的服务器。该网站接受请求并创建一个响应,其中包含浏览器接受的HTML,并将其转换为一个您可以查看的漂亮的网站。此描述适用于internet上HTTP和HTTPS的大部分使用。

关于HTTP和HTTPS协议的伟大事物之一是它们是相当通用的,因此易于扩展。该协议是一个请求/响应类型的协议,其中客户端创建请求,并且服务器发送响应。该请求由请求类型,所请求的特定资源以及一组标题,其中包含有关请求的特定域的额外信息,例如该请求将进入哪个特定域,哪种设备正在制作请求,以及如何请求完成后处理服务器 - 客户端连接。响应由指示请求结果的代码,其中包含有关响应的额外信息的标题(例如制作响应的服务器类型以及资源的最后一次更新),以及所请求的信息。

以下两个图显示了一个示例HTTP请求和响应,其中一些细节指出。这是一个典型请求:

图1所示。一个基本的HTTP请求

这是一个典型的响应:

图2。一个基本的HTTP响应

HTTP(S)和物联网

HTTP协议中没有任何内容表明所请求的数据必须是超文本文档,并且有几个基于云的IOT数据库服务利用此用于将HTTP作为其数据库的接口。这些物联网数据库这样的工作(尽管特定术语从服务变为服务):服务为用户提供了一个通道他们可以向其发送数据。该数据通常采用溪流来自某种传感器的数据,该传感器定期将数据发送到服务。该服务组织并记录数据,然后可以在互联网上的任何地方访问这些数据。该服务是一个典型的机器对机器交互,因为不需要任何人工参与数据流。许多服务还包括基于满足特定条件的数据触发操作的能力。

图3显示了物联网中的HTTP用例。

图3。符合HTTP的传感器系统通过互联网图像提供数据截图

在图3中,Arduino表示收集数据的传感器(或传感器系统)并将其发送到基于云的IOT数据库。在此示例中,IOT数据库是令人携带的,但是还有许多其他服务,例如exosite,Xive,Carriots和Nimbits,也使用HTTP(S)作为其接口。然后可以从因特网上的任何计算机查看数据。

因为数据是通过HTTP请求在这个系统中移动的,所以出现了HTTP。图中突出显示的服务(ThingSpeak)要求用户发送一个HTTP post请求给他们的信道发送数据和HTTP get请求从通道获取数据。具体的请求是这样的:

图4。邮寄的例子并获取令人留意的要求。使用的礼貌截图

上面显示的ThingSpeak交互很容易实现为机器对机器的消息,因为嵌入式设备发送HTTP请求和管理返回的简单响应很容易。在这些消息中需要注意的一点是api_key。这个密匙本质上是读取和/或写入通道的密码,如果使用HTTP请求发送密匙,这意味着任何窃听您消息的人都将获得该密匙。

显而易见的解决方案是使用HTTPS为HTTP添加一层身份验证和加密。除了身份验证和加密之外,HTTP和HTTPS消息是相同的,因此除非有令人信服的原因不使用它,否则HTTPS应该是与IOT平台通信的选择协议。在某些情况下,令人信服的原因是将数据发送到物质封闭的嵌入式微控制器没有处理马力,以有效处理使用HTTPS所需的认证和加密。解决方法是在传感器系统和云之间添加代理或网关。例如,在每个传感器使用非常基本的微处理器的无线传感器网络中,代理可以通过本地无线网络(例如,ZigBee)从传感器收集数据,然后在通过HTTPS连接通过HTTPS连接之前加密数据。

HTTP和HTTPS对于这里描述的机器对机器的交互来说是相当好的协议。它们是在TCP/IP上操作的开放标准,允许通过头和数据进行定制。不过,它们并非适用于所有情况。它们有很多开销,所以在有限的带宽环境下不能很好地工作,与带宽优化协议相比,它们会使用更多的能量。不过,这两个协议确实有一些很大的优势。首先,它们易于理解和实现,因为它们具有可读性。其次,它们普遍可用;换句话说,无论你在哪里访问互联网,你都可以使用HTTP和HTTPS。

结论

虽然HTTP和HTTPS可能不是IOT中机器通信的完美协议,但它们足以让您开始。许多物联网数据库服务支持HTTP(S)及其易用性意味着您可以快速地使用IOT系统。

特色图片用于rock1997的礼貌(自己的工作)[CC冲锋队4.0 -3.0 - -2.5 -2.0 - -1.0)