基于HTTP协议的RPC

      HTTP是Hypertext Transfer Protocol(超文本传输协议)的缩写。它是万维网协会(World Wild Web Consortium)和IETF(Internet Engineering Task Force)合作的成果,并逐步发展成为整个互联网信息交换的标准,当今普遍采用的版本是HTTP1.1。

     如图1-6所示,HTTP协议属于应用层协议,它构建在TCP和IP协议之上,处于TCP/IP体型架构中的顶端,这样一来,它便不需要处理下层协议之间诸如丢包补发,握手及数据的分段和重新组装等繁琐的细节,从而使开发人员可以专注于上层应用的设计。

    协议是通信的规范,为了更好地理解HTTP协议,我们可以基于Java的Socket API接口,通过设计一个简单的应用层通信协议,来窥探协议实现的一些过程与细节。

    协议请求和响应的格式如图1-7所示:

基于HTTP协议的RPC
 
    客户端会向服务端发送一条命令,服务端接收到命令后,会判断命令是否为“HELLO”,如果是"HELLO",则返回给客户端的响应为“hello!”,否则返回给客户端的响应为“bye bye!”。协议实现的类图如下:

基于HTTP协议的RPC
 项目的目录结构如下:

相关推荐