基于扩展状态码的http通信方法

文档序号:10515736阅读:388来源:国知局
基于扩展状态码的http通信方法
【专利摘要】本发明涉及网络通信领域,提供一种基于扩展状态码的HTTP通信方法,以解决目前基于状态码的HTTP通信方法在特定情况下存在不必要的数据开销的,该方法包括:客户端向服务器发送HTTP请求消息;服务器返回响应信息;客户端获取服务器的扩展HTTP状态码的定义;客户端接收服务器发送的响应信息。本发明提出的技术方案采用扩展HTTP状态码实现错误提示,避免了不必要的数据开销,提升了传输效率。
【专利说明】
基于扩展状态码的HTTP通信方法
技术领域
[0001]本发明属于网络通信领域,特别涉及一种基于扩展状态码的HTTP通信方法。
【背景技术】
[0002]HTTP(Hyper Text Transfer Protocol)是超文本传输协议的缩写,它用于传送WWW方式的数据。HTTP协议采用了请求/响应模型,客户端向服务器发送一个请求,请求头包含请求的方法、UR1、协议版本、以及包含请求修饰符、客户信息和内容的类似于MME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。
[0003]移动终端的通信数据中,往往使用一个数据结构封装返回响应数据和状态码,在实际使用中数据应该分成两个部分:有效的状态码和有效的数据。在错误的返回中,有效的数据中不包含数据,但是这个返回的结构依旧要求构造了一个空的数据返回,这样就造成了数据冗余(即不需要的数据结构被作为有效数据传送了),因此,上述通信方式在特定情况下造成了不必要的数据开销。

【发明内容】

[0004]【要解决的技术问题】
[0005]本发明的目的是提供一种基于扩展状态码的HTTP通信方法,以解决目前基于状态码的HTTP通信方法在特定情况下存在不必要的数据开销的问题。
[0006]【技术方案】
[0007]本发明是通过以下技术方案实现的。
[0008]本发明涉及一种基于扩展状态码的HTTP通信方法,包括步骤:
[0009]A、客户端向服务器发送HTTP请求消息;
[0010]B、服务器接收到客户端发送的HTTP请求消息后,根据HTTP请求进行业务处理后得到业务数据,并向客户端返回响应信息,如果业务处理成功,则所述响应信息包括含有基础HTTP状态码的状态行、消息报头和业务数据,如果业务处理失败,则所述响应信息包括含有扩展HTTP状态码的状态行和消息报头;
[0011]C、客户端接收服务器发送的响应信息,如果响应信息的状态行包括扩展HTTP状态码,则查找得到该扩展HTTP状态码对应的错误类型。
[0012]作为一种优选的实施方式,所述步骤C之前还包括:客户端通过服务器的公开接口获取扩展HTTP状态码的定义及各种扩展HTTP状态码对应的错误类型。
[0013]作为另一种优选的实施方式,所述客户端通过Hash验证的方式获取扩展HTTP状态码的定义及各种扩展HTTP状态码对应的错误类型。
[0014]作为另一种优选的实施方式,所述扩展HTTP状态码为枚举类型或键值对类型。
[0015]【有益效果】
[0016]本发明提出的技术方案具有以下有益效果:
[0017]本发明采用扩展HTTP状态码实现错误提示,避免了不必要的数据开销,提升了传输效率。
【附图说明】
[0018]图1为本发明的实施例一提供的基于扩展状态码的HTTP通信方法的流程图。
【具体实施方式】
[0019]为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的【具体实施方式】进行清楚、完整的描述。
[0020]图1为本发明实施例一提供的基于扩展状态码的HTTP通信方法的流程图。如图1所示,该方法包括步骤SI至步骤S4,下面分别对各个步骤进行详细说明。
[0021 ] 步骤S1:客户端向服务器发送HTTP请求消息。
[0022]步骤SI中,客户端与服务器建立通信连接,客户端向服务器发送HTTP请求消息。
[0023]步骤S2:服务器返回响应信息。
[0024]步骤S2中,服务器接收到客户端发送的HTTP请求消息后,根据HTTP请求进行业务处理后得到业务数据,并向客户端返回响应信息,如果业务处理成功,则响应信息包括含有基础HTTP状态码的状态行、消息报头和业务数据。如果业务处理失败,则响应信息包括含有扩展HTTP状态码的状态行和消息报头。需要说明,基础HTTP状态码的类型包括:成功(2字头);重定向(3字头);请求错误(4字头);服务器错误(5字头和6字头),本实施例中的扩展HTTP状态码的类型为9字头,不同的扩展HTTP状态码代表各种不同类型的错误。下面给出采用扩展HTTP状态码的响应信息结构:
[0025]HTTP/1.1 913
[0026]Cache-Control: no-cache
[0027]Pragma: no-cache
[0028]Expires:-1
[0029]Server:Micosoft-1IS/10.0
[0030]X-AspNet-Vers1n:4.0.30319
[0031 ] X-SourceFiles:=7UTF-8?B?RDpcTX13B3Jrc3Bhy
[0032]X-Powered-By: ASP.NET
[0033]Date:Mon,I8Jan 2016
[0034]Content-Length:0
[0035]上述响应信息结构中913表示Car_N0T_BIND类型业务处理失败。
[0036]作为对比,现有技术中Car_N0T_BIND类型业务处理失败时的响应信息结构为:
[0037]HTTP/I.I 2000K
[0038]Cache-Control: no-cache
[0039]Pragma: no-cache
[0040]Expires:-1
[0041]Server:Micosoft-1IS/10.0
[0042]X-AspNet-Vers1n:4.0.30319
[0043]X-SourceFiles:=7UTF-8?B?RDpcTX13B3Jrc3Bhy
[0044]X-Powered-By: ASP.NET
[0045]Date:Mon,I8Jan 2016
[0046]Content-Length:295
[0047]{“State”:-26,,,Desc”,,,Car_NOT_BIND,,,”pinState”:null}
[0048]上述返回结构中,200为基础HTTP状态码,表示请求成功,服务器在处理时存在Car_N0T_BIND类型失败,因此通过结构体{ “State”:-26,,,Desc”,” Car_N0T_BIND”,”pinState”:null}返回该类型失败,同时还需要构造一个空(null)的数据返回,与本发明实施例中的返回结构对比可知,现有技术中的返回的结构构造了一个空(null)的数据返回,本发明实施例通过构造扩展HTTP状态码实现错误提示,避免了不必要的数据开销,提升了传输效率。
[0049]步骤S3:客户端获取服务器的扩展HTTP状态码的定义。
[0050]步骤S3中,客户端通过服务器的公开接口获取扩展HTTP状态码的定义及各种扩展HTTP状态码对应的错误类型,具体地,客户端通过Hash验证的方式获取扩展HTTP状态码的定义及各种扩展HTTP状态码对应的错误类型。需要说明,步骤S3用于获取扩展HTTP状态码的定义及各种扩展HTTP状态码对应的错误类型,以在步骤S4中得到对应的错误类型,因此该步骤只需要在步骤S4之前执行即可。
[0051 ]步骤S4:客户端接收服务器发送的响应信息。
[0052]步骤S4中,客户端接收服务器发送的响应信息,如果响应信息的状态行包括扩展HTTP状态码,则查找得到该扩展HTTP状态码对应的错误类型。
[0053]从以上实施例可以看出,本发明实施例采用扩展HTTP状态码实现错误提示,避免了不必要的数据开销,提升了传输效率。
[0054]需要说明,上述描述的实施例是本发明的一部分实施例,而不是全部实施例,也不是对本发明的限制。基于本发明的实施例,本领域普通技术人员在不付出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
【主权项】
1.一种基于扩展状态码的HTTP通信方法,其特征在于包括步骤: A、客户端向服务器发送HTTP请求消息; B、服务器接收到客户端发送的HTTP请求消息后,根据HTTP请求进行业务处理后得到业务数据,并向客户端返回响应信息,如果业务处理成功,则所述响应信息包括含有基础HTTP状态码的状态行、消息报头和业务数据,如果业务处理失败,则所述响应信息包括含有扩展HTTP状态码的状态行和消息报头; C、客户端接收服务器发送的响应信息,如果响应信息的状态行包括扩展HTTP状态码,则查找得到该扩展HTTP状态码对应的错误类型。2.根据权利要求1所述的基于扩展状态码的HTTP通信方法,其特征在于所述步骤C之前还包括:客户端通过服务器的公开接口获取扩展HTTP状态码的定义及各种扩展HTTP状态码对应的错误类型。3.根据权利要求2所述的基于扩展状态码的HTTP通信方法,其特征在于所述客户端通过Hash验证的方式获取扩展HTTP状态码的定义及各种扩展HTTP状态码对应的错误类型。4.根据权利要求1所述的基于扩展状态码的HTTP通信方法,其特征在于所述扩展HTTP状态码为枚举类型或键值对类型。
【文档编号】H04L29/08GK105872090SQ201610367354
【公开日】2016年8月17日
【申请日】2016年5月27日
【发明人】魏劲超, 江涛
【申请人】四川长虹电器股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1