HTTP RESTFul RPC

一、简介

(1)HTTP(Hypertext Transfer Protocol)是一种应用层协议。它经常用于在Web和服务器之间通讯,或服务与服务之间通讯。

(2)RESTFul 约束HTTP协议实现上的规范设计。

(3)RPC(Remote Procedure Call)远程过程调用方法。它经常用于服务与服务之间通讯。当前服务调用其他服务时,能够像调用函数一样。

RPC的实现可以基于TCP协议,也可以基于HTTP协议。

在基于TCP协议的情况下,服务的调用方和提供方需要建立Socket连接,然后调用方通过Socket将需要调用的接口名称、方法名称和参数序列化后传递给提供方。

http是TCP的上层协议

二、对于我自己理解

HTTP是协议RESTFul是规范RPC是具体方法

协议用来定义规则、规范用来约束实现,方法用来具体调用

三、落地案例

Spring Cloud 的OpenFeign 就是RPC的实现,采用http协议,使用RESTFul规范约束

Dubbo 就是RPC的实现,采用TCP

TCP比http更靠近底层协议,冗余东西更少,性能也就更好

相关推荐
三两肉12 小时前
HTTP/1.1到HTTP/3:互联网通信协议的三代演进之路
网络·网络协议·http·http3·http2·http1.1
三两肉12 小时前
HTTP 缓存详解
网络协议·http·缓存
Violet_YSWY14 小时前
理解:ssh http ftp基于tcp
tcp/ip·http·ssh
2501_9447114315 小时前
理清 https 的加密逻辑
网络协议·http·https
源远流长jerry16 小时前
TCP 协议深度指南:历史、设计哲学、报文格式与 tcpdump 抓包实战
网络·网络协议·tcp/ip·http·tcpdump
we have a whole life17 小时前
Golang(Handler入门)
开发语言·http·golang
三两肉18 小时前
TCP Keepalive 与 HTTP Keep-Alive介绍与区别详解!
网络协议·tcp/ip·http
源远流长jerry18 小时前
HTTP/2 帧格式与流机制详解
网络·网络协议·http
未来之窗软件服务19 小时前
幽冥大陆(九十二 ) 封装 PHP HTTP 请求的 —东方仙盟练气期
开发语言·http·php·仙盟创梦ide·东方仙盟
不如打代码KK21 小时前
Spring中怎么把对象给到ioc容器里?
java·spring·rpc