CN107332891B - Http请求处理的方法、服务器及客户端 - Google Patents

Http请求处理的方法、服务器及客户端 Download PDF

Info

Publication number
CN107332891B
CN107332891B CN201710480519.8A CN201710480519A CN107332891B CN 107332891 B CN107332891 B CN 107332891B CN 201710480519 A CN201710480519 A CN 201710480519A CN 107332891 B CN107332891 B CN 107332891B
Authority
CN
China
Prior art keywords
http request
http
client
application program
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710480519.8A
Other languages
English (en)
Other versions
CN107332891A (zh
Inventor
朱丹枫
李牧
李辛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN201710480519.8A priority Critical patent/CN107332891B/zh
Publication of CN107332891A publication Critical patent/CN107332891A/zh
Application granted granted Critical
Publication of CN107332891B publication Critical patent/CN107332891B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例中,通过接收客户端发起的HTTP请求,所述HTTP请求中包含调用INVOKE方法;根据所述INVOKE方法,调用应用程序对所述HTTP请求进行处理,获取HTTP响应消息;将所述HTTP响应消息发送所述客户端。实现了客户端调用服务器上的应用程序获得数据,客户端可以不需要自己去下载安装应用程序也不需要下载数据,一方面,扩大了客户端的潜力,增大了服务方与客户端软件的融合,减少了对网络流量和客户端的内存的占用,另一方面,实现了服务器对客户端的统一管理,有利于为客户端构建一个安全可靠的网络环境。

Description

HTTP请求处理的方法、服务器及客户端
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种HTTP请求处理的方法、服务器及客户端。
背景技术
HTTP(HyperText Transfer Protocol,超文本传输协议)是一种分布式、合作式、多媒体信息系统服务、面向应用层的协议。版本HTTP/1.1产生于90年代,已经对于现代web应用的性能产生负面影响。HTTP2通过定义一个优化的基础连接的HTTP语义映射来解决这些问题。自1996年HTTP1.0定稿到2015年6月推荐标准draft-ietf-httpbis-http2-13(http/2),HTTP的处理能力不断提高,能够多样化地满足客户端对于从服务器取得资源的需求。
HTTP客户端可要求服务器完成检索(quiry)、查找(search),前端更新(front-endupdate)和注解(annotation)这些功能。这些功能通过方法GET(获取),HEAD(隐藏),POST(发布),PUT(放入),DELETE(删除),CONNECT(连接),OPTIONS(执行)等方法实现对于服务器的数据的获取。
除了HTTP,现有技术中,从服务器获取数据的方式还有telnet(远程终端协议)这样的远程登录。适用于局域网的dBus(自由软件项目),可以调用局域网上其它主机上的应用程序,为互联网设计的Alljoyn(自由软件项目)简单说法就是Internet上的dBus。
在实现本发明的过程中,申请人发现,由于每个服务器上都有大量的应用程序,特别是带有数据库的服务器,有大量的处理数据的程序,现有技术中的HTTP方法,只能够直接从服务器上得到数据,而不能够利用服务器上的应用程序获取数据。
另一方面,其他从服务器获取数据的方式,如telnet,不能支持复杂的数据类型,dBus和Alljoyn过于接近程序设计语言,忽视了HTTP客户端已经形成的以多媒体应用为代表的人机交互资产,这些资产对增强现实、虚拟现实、人工智能是很重要的。
因此,需要一种新的用于HTTP请求处理的方法、服务器及客户端。
在所述背景技术部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本发明提供一种用于要求HTTP服务方进行数据处理的方法、装置及计算机可读存储介质,能够利用HTTP请求中包含调用INVOKE方法调用服务器上的应用程序而获得数据。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明的第一方面,提供一种HTTP请求处理的方法,其中,所述方法包括:接收客户端发起的HTTP请求,所述HTTP请求中包含调用INVOKE方法;根据所述INVOKE方法,调用应用程序对所述HTTP请求进行处理,获取HTTP响应消息;将所述HTTP响应消息发送所述客户端。
根据一些实施例,所述HTTP请求的请求行中包括所述INVOKE方法,所述HTTP请求的头域中包括INVOKING头域,所述HTTP请求的体中包括所述应用程序的输入参数。
根据一些实施例,根据所述INVOKE方法,调用应用程序对所述HTTP请求进行处理,获取HTTP响应消息,包括:从所述HTTP请求的头域中获取所述输入参数的编码类型;根据所述编码类型解码所述HTTP请求的体,得到解码后的输入参数;根据所述INVOKE方法,调用应用程序,以使所述应用程序根据所述输入参数对所述HTTP请求进行处理,获取输出参数;根据所述输出参数,生成HTTP响应消息。
根据一些实施例,根据所述INVOKE方法,调用应用程序,以使所述应用程序根据所述输入参数对所述HTTP请求进行处理,获取输出参数,包括:从所述HTTP请求的请求行、INVOKING头域和HOST头域中获取统一资源标示符URI;根据所述URI调用应用程序,以使所述应用程序根据解码后的输入参数,对所述HTTP请求进行处理,获取输出参数。
根据一些实施例,所述根据所述输出参数,生成HTTP响应消息,包括:对所述输出参数进行编码,根据编码后的输出参数生成HTTP响应消息的体,将对所述输出参数进行编码的编码类型生成HTTP响应消息的头域。
根据本发明的第二方面,提供一种HTTP请求处理的方法,其中,所述方法包括:向服务器发送HTTP请求,所述HTTP请求中包含调用INVOKE方法;接收所述服务器发送的HTTP响应消息。
根据一些实施例,所述HTTP请求的请求行中包括所述INVOKE方法,所述HTTP请求的头域中包括INVOKING头域,所述HTTP请求的体中包括应用程序的输入参数。
根据一些实施例,所述方法还包括:对所述应用程序的输入参数进行编码,根据编码后的输入参数生成所述HTTP请求的体,根据对所述输入参数进行编码的编码类型生成所述HTTP请求的头域。
根据本发明的第三方面,提供一种HTTP请求处理的服务器,其中,所述服务器包括:接收模块,用于接收客户端发起的HTTP请求,所述HTTP请求中包含调用INVOKE方法;获取模块,用于根据所述INVOKE方法,调用应用程序对所述HTTP请求进行处理,获取HTTP响应消息;发送模块,用于将所述HTTP响应消息发送所述客户端。
根据本发明的第三方面,提供一种HTTP请求处理的客户端,其中,所述客户端包括:发送模块,用于向服务器发送HTTP请求,所述HTTP请求中包含调用INVOKE方法;接收模块,用于接收所述服务器发送的HTTP响应消息。
本发明实施例中,通过接收客户端发起的HTTP请求,所述HTTP请求中包含调用INVOKE方法;根据所述INVOKE方法,调用应用程序对所述HTTP请求进行处理,获取HTTP响应消息;将所述HTTP响应消息发送所述客户端。实现了客户端调用服务器上的应用程序获得数据,客户端可以不需要自己去下载安装应用程序也不需要下载数据,一方面,扩大了客户端的潜力,增大了服务方与客户端软件的融合,减少了对网络流量和客户端的内存的占用,另一方面,实现了服务器对客户端的统一管理,有利于为客户端构建一个安全可靠的网络环境。
附图说明
通过参照附图详细描述其示例实施例,本发明的上述和其它目标、特征及优点将变得更加显而易见。
图1是根据一示例性实施例示出的一种HTTP请求处理的方法的流程图。
图2是根据一示例性实施例示出的另一种HTTP请求处理的方法的流程图。
图3是根据一示例性实施例示出的一种HTTP请求处理的服务器的结构图。
图4是根据一示例性实施例示出的一种HTTP请求处理的客户端的结构图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本发明将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
下面结合具体的实施例,分别对服务器侧和客户端侧的HTTP请求处理方法进行详细的说明。
实施例一
图1是根据一示例性实施例示出的一种HTTP请求处理的方法的流程图。需要说明的是,该实施例以服务器侧为执行主体对HTTP请求处理的方法进行说明。
如图1所示,该方法包括:
在S110中,接收客户端发起的HTTP请求,该HTTP请求中包含INVOKE方法。
需要说明的是,为了实现客户端和服务器之间的数据交互,首先应该建立服务器与客户端之间的连接。HTTP是一个应用层的协议,是假定连接和传输都没有问题时双方交换消息的协议。例如,为了实现网络信息传输,服务器启动一个线程,等待客户端发起的连接,服务器接收到客户端发起的连接后,对该客户端进行认证,如果认证通过,则建立与该客户端的连接。需要注意的是,服务器也可以与多个客户端之间建立连接,从而可以同时处理多个客户端发起的HTTP请求,提高HTTP请求处理的效率。
需要说明的是,现有技术中的HTTP请求不包含INVOKE方法。本发明实施例中HTTP请求的请求行中包括所述INVOKE方法,所述HTTP请求的头域中包括INVOKING头域,所述HTTP请求的体中包括所述应用程序的输入参数,其中,根据该INVOKING头域与请求行中的RequestURL、HOST头域可以确定服务器调用的应用程序的统一资源标示符URI。
该HTTP请求的头域中还可以包括内容编码Content-encoding头域,从该Content-encoding头域中可以获取到上述输入参数的编码类型,例如,ASN.1(Adstract SyntaxNotation dotone,抽象语法标记)的编码类型可作为Content-encoding头域的参数,客户端在HTTP请求的体写入运行应用程序时需要的输入参数的ASN.1编码,服务器根据Content-encoding头域中的输入参数的编码类型可用于该ASN.1编码的解码,从而得到解码后的输入参数。
需要说明的是,使用其它方法的HTTP请求与HTTP响应消息都应遵从HTTP1.1协议,其最新版“语法及路由”2014年6月定义于rfc7230,最新版“语义和内容”2014年6月定义于rfc7231。2015年6月推荐标准draft-ietf-HTTPbis-HTTP2-13(HTTP/2)推荐了HTTP消息的一个高效传输方法,但是没有改变HTTP请求方法的语法和语义。因此,本申请中定义的INVOKE方法需要注册(rfc7230Section 8.4)。
在S120中,根据上述INVOKE方法,调用应用程序对该HTTP请求进行处理,获取HTTP响应消息。
根据示例实施例,可以从该HTTP请求的Content-encoding头域中获取所述输入参数的ASN.1编码类型,并根据该ASN.1编码类型对该HTTP请求的体中的输入参数进行解码,得到解码后的输入参数。
需要说明的是,ASN.1支持的编码类型有若干种,如BER(Basic Encoding Rules,基本编码规则),CER(CanonicalEncoding Rules,规范编码规则),DER(DistinguishedEncoding Rules,唯一编码规则),PER(PackedEncoding Rules,压缩编码规则)等,这些编码类型需要注册(rfc7230Section 8.4)。
得到解码后的输入参数后,以该输入参数为输入,根据该HTTP请求中包含的INVOKE方法,调用应用程序,以使所述应用程序根据所述输入参数对所述HTTP请求进行处理,获取输出参数,并根据所述输出参数,生成HTTP响应消息。
根据示例实施例,可以从该HTTP请求的请求行、INVOKING头域和HOST头域中获取URI(Uniform Resource Identifier,统一资源标示符),例如,在请求行中可以包括RequestURL(Request-URI,请求URL),将其作为URI的一个片段,在INVOKING头域和HOST头域获取到URI的其他片段。根据该URI可以确定具体的应用程序,从而调用该应用程序,以使所述应用程序根据解码后的输入参数,对该HTTP请求进行处理。当该应用程序执行完成后,服务器获得进程或者线程的输出参数,进而根据该输出参数,生成HTTP响应消息。
需要说明的是,确定具体的应用程序时可能需要使用输出参数类型帮助分辨重载的标示符。
根据示例实施例,在根据输出参数,生成HTTP响应消息时,可以对输出参数进行编码,根据编码后的输出参数生成HTTP响应消息的体,将对该输出参数进行编码的编码类型生成HTTP响应消息的头域。
例如,服务方可以选择ASN.1编码类型对该输出参数序列进行ASN.1编码,并将编码后的输出参数作为HTTP响应的体,根据选择的ASN.1编码类型编写该HTTP响应消息的Content-encoding头域。
需要说明的是,服务器在对输出参数进行编码时,编码类型可以与输入参数的编码类型一致,也可以与输入参数的编码类型不一致。
需要说明的是,HTTP协议中已定义的其它状态码可仍然维持原意,例如,在服务器正常运行应用程序时HTTP响应的状态码为200,当服务器在执行INVOKE方法时出现错误,针对这些错误可以设定以下错误的状态码:
510输入参数错误
511无启动权限
512启动进程超时
513进程意外结束
需要注意的是,上述状态码也需要注册(rfc7231Section 8.2)。
按照HTTP协议,使用这些状态码组成对客户端发出的HTTP请求的HTTP响应消息,并将其发回客户端,不涉及应用程序的运行结果,并在HTTP响应中使用头域INVOKED fail。
例如,包含INVOKE方法的HTTP请求:计算sin(0.2)的HTTP响应消息可以是:
200OK
CONTENT_ENCODING:DER
(计算结果,即(real 0.1986693307950612,null)的DER编码,因为DER编码可读性差所以不展示了)
以上两个空行是必须的。
在S130中,将所述HTTP响应消息发送客户端。
服务器获取到HTTP响应消息后,将该HTTP响应消息发送给上述客户端。
本发明实施例中,通过接收客户端发起的HTTP请求,所述HTTP请求中包含调用INVOKE方法;根据所述INVOKE方法,调用应用程序对所述HTTP请求进行处理,获取HTTP响应消息;将所述HTTP响应消息发送所述客户端。实现了客户端调用服务器上的应用程序获得数据,客户端可以不需要自己去下载安装应用程序也不需要下载数据,一方面,扩大了客户端的潜力,增大了服务方与客户端软件的融合,减少了对网络流量和客户端的内存的占用,另一方面,实现了服务器对客户端的统一管理,有利于为客户端构建一个安全可靠的网络环境。
实施例二
图2是根据一示例性实施例示出的另一种HTTP请求处理的方法的流程图。需要说明的是,该实施例以客户端侧为执行主体对HTTP请求处理的方法进行说明。
如图2所示,该方法包括:
在S210中,向服务器发送HTTP请求,所述HTTP请求中包含调用INVOKE方法。
根据示例示例,该HTTP请求的请求行中包括所述INVOKE方法,所述HTTP请求的头域中包括INVOKING头域,该HTTP请求的体中包括应用程序的输入参数。
根据示例实施例,该HTTP请求的请求行、HOST头域和INVOKING头域中写入有服务器侧执行该HTTP请求的应用程序的URI的片段。
需要注意的是,有些应用程序的URI的片段可能只写入在HOST头域和INVOKING头域中。
按照HTTP协议的规定,可以在HOST头域提供(例如www.math.com)应用程序的主机和端口号,用INVOKING头域的参数指定该应用程序在该文件系统中的路径,用请求行中的RequestURL作为统一资源标示符的一个片段,从而得到一个完整的统一资源标示符。
根据示例实施例,客户端可以对上述应用程序的输入参数进行编码,根据编码后的输入参数生成所述HTTP请求的体,将对所述输入参数进行编码的编码类型生成所述HTTP请求的头域。
例如,当客户端需要服务侧计算sin(0.2)函数,可以向服务器发送如下的HTTP请求让服务方进行计算:
INVOKE/linux3HTTP/1.1(请求行,定义了一个INVOKE方法,/linux3是URI的一个片段,即RequestURL。HTTP/1.1是执行该INVOKE方法的应用程序的版本号)
Host:www.math.com(在host头域中包括执行所述INVOKE方法的网络主机和端口号)
Invoking:../usrbin/sin(增加的INVOKE头域,表示一个应用程序的本机相对的URI。
Content-encoding:DER(输入参数的编码类型为DER)
catch:no-cache(指示禁止缓存)
……(请求的体,因为经过ASN.1编码后可读性很差,所以不在此展示了)
(以上两个空行是HTTP请求语法要求的)
该HTTP请求的起始行中可以包含INVOKE方法,该HTTP请求中有头域INVOKING:/usrbin/sin,请求行中的RequestURL为/linux3。客户端要求运行的应用程序的URI是://www.math.com/linux3/usrbin/sin。该HTTP请求的体是上述应用程序需要的输入参数序列(real 0.2,null),在HTTP请求的Content-encoding头域中设定的参数DER,表示HTTP请求的体的编码类型为DER。另外,INVOKE方法禁止使用缓存,可以在Cache-Control头域指示禁止缓存。
需要说明的是,HTTP协议无法确定应用程序的统一资源标示符是什么及如何取得使用应用程序的权限,这需要其他系统(例如搜索引擎)的支持。
将上述HTTP请求发出后,客户端等待服务器侧处理此HTTP请求。
需要说明的是,按照HTTP协议的规定,连接建立后自动保持,所以只要客户端需要,就可以连续发出HTTP请求,除非因为某种原因服务器关闭连接以及连接非正常结束的情况为止。有些应用程序需要连续被执行,在有这种要求的时候,只要连接能够维持就行了。
在S220中,接收服务器发送的HTTP响应消息。
客户端接到服务方发来的HTTP响应消息后,从Content-encoding头域可以得知用于给输出参数编码的编码类型,然后根据该编码类型对输出参数解码可以获得应用程序执行后的输出参数序列。
例如,以上述客户端需要服务侧计算sin(0.2)函数为例,输出参数的类型序列为(real null,null)。输入参数与输出参数类型序列就是((real0.2,null),(real null,null),null),其DER编码为300930042B302E3230012B。
如果HTTP响应的状态码为5xx或其它HTTP协议已定义为出现错误的状态码,则说明服务侧没有正常处理INVOKE请求。如果下一个请求依赖本次请求的响应,则不应继续发出。
而是否重复发出请求或进行其它处理已经不属于HTTP协议的范围,而是客户端使用者的任务了。例如:客户端可以在浏览器上显示结果,或使用浏览器所在的宿主机处理此结果。
需要说明的是,S210-S220可以反复执行,直到客户端向服务器发送连接终止请求,或者服务器关闭连接以及连接非正常结束的情况。
HTTP协议是应用层协议,对网络的要求是客户端与服务方的连接正常、HTTP消息传输正常而且顺序有保障。HTTP/2定义了一种高效的传输机制,每个HTTP请求被编组成“数据帧”,每个帧有唯一的顺序号。将“数据帧”通过建立在连接上的“流”发送给服务器,只要保持每个会话中的HTTP请求按顺序发出,接到的HTTP响应也按顺序排列即可。服务方和客户端在接收信息时需要根据帧的编号装配HTTP消息和恢复消息的顺序。只要HTTP请求和HTTP响应消息在同一个“流”里,客户端可以在一个流里发送多个请求,流里面不会混进其它“流”的帧。HTTP/2仍然保持HTTP/1.1的消息语法和语义,所以本申请提出的INVOKE方法也适用于HTTP/2。
按照HTTP协议,客户端和服务器为人们从互联网获得信息提供了强有力的手段。但是从客户端来说,现有已注册方法(GET,HEAD,POST,PUT,DELETE,CONNECT,OPTIONS等)只能接触到服务方的数据文件。
本发明中,客户端通过向服务器发送包含INVOKE方法的HTTP请求,能够直接调用服务器上的应用程序,从而扩大了客户端的潜力,增大了服务方与客户端软件的融合。而且,客户端可以不需要自己去下载安装应用程序和数据,从而减少对网络流量的占用,另一方面,实现了服务器对客户端的统一管理,有利于为客户端构建一个安全可靠的网络环境。
本发明提出的HTTP请求处理的方法可应用于智能住宅、智能汽车、虚拟或增强现实等应用场景,在这些应用场景中,需要对智能住宅和智能汽车等客户端进行监视和控制,为了避免不安全的软件或应用程序入侵到这些客户端,需要为这些客户端提供安全、可信、可靠的服务,构建一个安全可靠的多应用程序的服务器,从而保证了智能住宅和智能汽车的安全性。在虚拟或增强现实的场景中,客户端的强大处理能力对于分担服务方的计算压力很有帮助。
实施例三
图3是根据一示例性实施例示出的一种HTTP请求处理的服务器的结构图,如图3所示,服务器300包括:
接收模块310,用于接收客户端发起的HTTP请求,所述HTTP请求中包含调用INVOKE方法;
获取模块320,用于根据所述INVOKE方法,调用应用程序对所述HTTP请求进行处理,获取HTTP响应消息;
发送模块330,用于接收所述服务器发送的HTTP响应消息。
本发明中,客户端通过向服务器发送包含INVOKE方法的HTTP请求,能够直接调用服务器上的应用程序,从而扩大了客户端的潜力,增大了服务方与客户端软件的融合。而且,客户端可以不需要自己去下载安装应用程序和数据,从而减少对网络流量的占用,另一方面,实现了服务器对客户端的统一管理,有利于为客户端构建一个安全可靠的网络环境。
实施例四
图4是根据一示例性实施例示出的一种HTTP请求处理的客户端的结构图,如图4所示,客户端400包括:
发送模块410,用于向服务器发送HTTP请求,所述HTTP请求中包含调用INVOKE方法;
接收模块420,用于接收所述服务器发送的HTTP响应消息。
本发明中,客户端通过向服务器发送包含INVOKE方法的HTTP请求,能够直接调用服务器上的应用程序,从而扩大了客户端的潜力,增大了服务方与客户端软件的融合。而且,客户端可以不需要自己去下载安装应用程序和数据,从而减少对网络流量的占用,另一方面,实现了服务器对客户端的统一管理,有利于为客户端构建一个安全可靠的网络环境。
以上具体示出和描述了本发明的示例性实施例。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

Claims (8)

1.一种超文本传输协议HTTP请求处理的方法,其特征在于,所述方法包括:
接收客户端发起的HTTP请求,所述HTTP请求中包含调用INVOKE方法;
根据所述INVOKE方法,调用应用程序对所述HTTP请求进行处理,获取HTTP响应消息;
将所述HTTP响应消息发送给所述客户端;
其中,所述HTTP请求的请求行中包括所述INVOKE方法,所述HTTP请求的头域中包括调用INVOKING头域,所述HTTP请求的体中包括所述应用程序的输入参数。
2.如权利要求1所述的方法,其特征在于,根据所述INVOKE方法,调用应用程序对所述HTTP请求进行处理,获取HTTP响应消息,包括:
从所述HTTP请求的头域中获取所述输入参数的编码类型;
根据所述编码类型解码所述HTTP请求的体,得到解码后的输入参数;
根据所述INVOKE方法,调用应用程序,以使所述应用程序根据所述输入参数对所述HTTP请求进行处理,获取输出参数;
根据所述输出参数,生成HTTP响应消息。
3.如权利要求2所述的方法,其特征在于,根据所述INVOKE方法,调用应用程序,以使所述应用程序根据所述输入参数对所述HTTP请求进行处理,获取输出参数,包括:
从所述HTTP请求的请求行、INVOKING头域和宿主HOST头域中获取统一资源标示符URI;
根据所述URI调用应用程序,以使所述应用程序根据解码后的输入参数,对所述HTTP请求进行处理,获取输出参数。
4.如权利要求2所述的方法,其特征在于,所述根据所述输出参数,生成HTTP响应消息,包括:
对所述输出参数进行编码,根据编码后的输出参数生成HTTP响应消息的体,将对所述输出参数进行编码的编码类型生成HTTP响应消息的头域。
5.一种超文本传输协议HTTP请求处理的方法,其特征在于,所述方法包括:
向服务器发送HTTP请求,所述HTTP请求中包含调用INVOKE方法;
接收所述服务器发送的HTTP响应消息;
其中,所述HTTP请求的请求行中包括所述INVOKE方法,所述HTTP请求的头域中包括调用INVOKING头域,所述HTTP请求的体中包括应用程序的输入参数。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
对所述应用程序的输入参数进行编码,根据编码后的输入参数生成所述HTTP请求的体,根据对所述输入参数进行编码的编码类型生成所述HTTP请求的头域。
7.一种HTTP请求处理的服务器,其特征在于,所述服务器包括:
接收模块,用于接收客户端发起的HTTP请求,所述HTTP请求中包含调用INVOKE方法;
获取模块,用于根据所述INVOKE方法,调用应用程序对所述HTTP请求进行处理,获取HTTP响应消息;
发送模块,用于将所述HTTP响应消息发送所述客户端;
其中,所述HTTP请求的请求行中包括所述INVOKE方法,所述HTTP请求的头域中包括调用INVOKING头域,所述HTTP请求的体中包括应用程序的输入参数。
8.一种HTTP请求处理的客户端,其特征在于,所述客户端包括:
发送模块,用于向服务器发送HTTP请求,所述HTTP请求中包含调用INVOKE方法;
接收模块,用于接收所述服务器发送的HTTP响应消息;
其中,所述HTTP请求的请求行中包括所述INVOKE方法,所述HTTP请求的头域中包括调用INVOKING头域,所述HTTP请求的体中包括应用程序的输入参数。
CN201710480519.8A 2017-06-22 2017-06-22 Http请求处理的方法、服务器及客户端 Active CN107332891B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710480519.8A CN107332891B (zh) 2017-06-22 2017-06-22 Http请求处理的方法、服务器及客户端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710480519.8A CN107332891B (zh) 2017-06-22 2017-06-22 Http请求处理的方法、服务器及客户端

Publications (2)

Publication Number Publication Date
CN107332891A CN107332891A (zh) 2017-11-07
CN107332891B true CN107332891B (zh) 2020-06-02

Family

ID=60195188

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710480519.8A Active CN107332891B (zh) 2017-06-22 2017-06-22 Http请求处理的方法、服务器及客户端

Country Status (1)

Country Link
CN (1) CN107332891B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112243033B (zh) * 2020-10-15 2022-09-13 浪潮商用机器有限公司 获取内存信息的方法、装置、设备及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6457066B1 (en) * 1997-11-10 2002-09-24 Microsoft Corporation Simple object access protocol
CN1577277A (zh) * 2003-07-16 2005-02-09 惠普开发有限公司 管理程序应用
CN101150577A (zh) * 2007-11-02 2008-03-26 珠海金山软件股份有限公司 一种互联网安全调用本地功能的系统和方法
CN103973812A (zh) * 2014-05-23 2014-08-06 上海斐讯数据通信技术有限公司 基于http协议中统一资源定位符的服务接口提供方法及系统
CN104270470A (zh) * 2014-10-24 2015-01-07 杭州高达软件系统股份有限公司 一种远程服务调用方法、装置及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6457066B1 (en) * 1997-11-10 2002-09-24 Microsoft Corporation Simple object access protocol
CN1577277A (zh) * 2003-07-16 2005-02-09 惠普开发有限公司 管理程序应用
CN101150577A (zh) * 2007-11-02 2008-03-26 珠海金山软件股份有限公司 一种互联网安全调用本地功能的系统和方法
CN103973812A (zh) * 2014-05-23 2014-08-06 上海斐讯数据通信技术有限公司 基于http协议中统一资源定位符的服务接口提供方法及系统
CN104270470A (zh) * 2014-10-24 2015-01-07 杭州高达软件系统股份有限公司 一种远程服务调用方法、装置及系统

Also Published As

Publication number Publication date
CN107332891A (zh) 2017-11-07

Similar Documents

Publication Publication Date Title
CN108306877B (zh) 基于node js的用户身份信息的验证方法、装置和存储介质
EP3734913A1 (en) Communication method and communication apparatus
JP3733218B2 (ja) 中継装置及びその制御方法及び記憶媒体
CN112286503A (zh) 多注册中心的微服务统一管理方法、装置、设备及介质
US20100115041A1 (en) Creating a message readable by a plurality of heterogeneous recipients
CN109274773B (zh) 一种实现远程服务调用方法、装置和系统
CN108429808B (zh) 一种物联网跨平台资源交互的方法和系统
CN109450948B (zh) 数据传输方法和装置
CN108616606B (zh) 一种物联网通信方法及装置
JPH10187575A (ja) インターネット経由でoltpを可能にするクライアント・オブジェクトapi /ゲートウェイ
CN105897888B (zh) 一种客户端连接方法及系统
CN110769009B (zh) 用户身份认证方法及系统
US20040122892A1 (en) Method, apparatus, and computer-program product for event service declaration, registration, and notification
CN114567650B (zh) 一种数据处理方法及物联网平台系统
CN111988418B (zh) 数据处理方法、装置、设备及计算机可读存储介质
CN112055078A (zh) 一种数据传输方法、装置、计算机设备和存储介质
CN113992738A (zh) 基于微服务网关的反向代理方法、装置、设备及存储介质
JP4009591B2 (ja) データベースにアクセスするためのドメインネーミングシステム(dns)
CN114157537A (zh) 一种通用设备网关实现多源异构数据接入的系统及方法
CN114221995A (zh) 服务调用方法、装置及电子设备
CN107332891B (zh) Http请求处理的方法、服务器及客户端
JP2002196931A (ja) サービス・ゲートウェイのための提供機構
US9479599B2 (en) Reroute of a web service in a web based application
CN113132472B (zh) 车载T-Box的RESTful Web动态服务注册方法
CN114448703B (zh) 请求处理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant