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

相关推荐
运维小白。。4 小时前
Nginx 反向代理
运维·服务器·nginx·http
城南云小白5 小时前
web基础+http协议+httpd详细配置
前端·网络协议·http
汀、人工智能8 小时前
报错error: RPC failed,curl 16 Error in the HTTP2 framing layer解决方法
网络·git·网络协议·rpc
一叶飘零_sweeeet10 小时前
为什么 Feign 要用 HTTP 而不是 RPC?
java·网络协议·http·spring cloud·rpc·feign
时之彼岸Φ11 小时前
Web:HTTP包的相关操作
网络·网络协议·http
秋已杰爱11 小时前
HTTP中的Cookie与Session
服务器·网络协议·http
W215511 小时前
LINUX网络编程:http
网络·网络协议·http
DieSnowK14 小时前
[项目][WebServer][Makefile & Shell]详细讲解
开发语言·c++·http·makefile·shell·项目·webserver
pemper_14 小时前
怎么操作使http变成https访问?
网络·网络协议·http·https·ssl
冷凝女子14 小时前
【QT】基于HTTP协议的网络应用程序
开发语言·qt·http