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更靠近底层协议,冗余东西更少,性能也就更好

相关推荐
LeonNo113 小时前
Gentleman:优雅的Go语言HTTP客户端工具包
开发语言·http·golang
Мартин.4 小时前
[Meachines] [Easy] Horizontall Strapi RCE+KTOR-HTTP扫描+Laravel Monolog 权限提升
网络协议·http·laravel·ctf
天线枫枫4 小时前
QT- HTTP + JSON(还需完善)
c++·qt·http
Cedric_Anik8 小时前
HTTP和HTTPS详解
网络协议·http·https
7yewh9 小时前
嵌入式知识点总结 网络编程 专题提升(二)-HTTP/IP
网络·arm开发·物联网·网络协议·http·硬件工程
菠菠萝宝9 小时前
【Java八股文】08-计算机网络面试篇
java·计算机网络·http·面试·https·udp·tcp
qincjun10 小时前
HTTP入门
网络·网络协议·http
小羊在奋斗11 小时前
【Linux】序列化、守护进程、应用层协议HTTP、Cookie和Session
linux·运维·http
黑客呀11 小时前
HTTP与网络安全
网络协议·web安全·http
m0_7482368311 小时前
Nginx中$http_host、$host、$proxy_host的区别
运维·nginx·http