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

相关推荐
专注VB编程开发20年4 小时前
WebSocket和HTTP协议的性能比较与选择
websocket·网络协议·http
找藉口是失败者的习惯5 小时前
HTTP vs. HTTPS:从基础到安全的全面对比
安全·http·https
ascarl20106 小时前
生成自签名证书并配置 HTTPS 使用自签名证书
网络协议·http·https
前端李易安10 小时前
什么是HTTP,什么是HTTPS?HTTP和HTTPS都有哪些区别?
网络协议·http·https
胎粉仔10 小时前
网络初阶——应用层:HTTPS 协议
网络协议·http·https
问道飞鱼21 小时前
【微服务知识】开源RPC框架Dubbo入门介绍
微服务·rpc·开源·dubbo
极地星光1 天前
JSON-RPC-CXX深度解析:C++中的远程调用利器
c++·rpc·json
earthzhang20211 天前
《深入浅出HTTPS》读书笔记(7):安全的密码学Hash算法
网络·网络协议·http·https·1024程序员节
杜杜的man1 天前
【go从零单排】HTTP客户端和服务端
开发语言·http·golang
AI原吾1 天前
探索 Python HTTP 的瑞士军刀:Requests 库
开发语言·python·http·requests