HTTP和MQTT协议实践
认识HTTP
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网
(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。
HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式
超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。
目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,
而且HTTP-NG(Next Generation of HTTP)的建议已经提出。
HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服
务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应
信息。
主要特点
1、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的
有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协
议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
2、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以
标记。
3.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,
并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
4.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少
状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送
的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。5、支持B/S及
C/S模式。
HTTP之状态码
状态代码有三位数字组成,第一个数字定义了响应的类别,共分五种类别:
1xx:指示信息–表示请求已接收,继续处理
2xx:成功–表示请求已被成功接收、理解、接受
3xx:重定向–要完成请求必须进行更进一步的操作
4xx:客户端错误–请求有语法错误或请求无法实现
5xx:服务器端错误–服务器未能实现合法的请求
读取指定城市的天气预报信息
1、REST
REST是一种软件架构风格,如果你的接口是REST接口,那么该接口可被认为是REST风格的。
REST接口是围绕资源展开的,HTTP 的URL即资源,利用HTTP的协议,其实rest本也可以和HTTP无关,但是现在大家普遍的使用RE