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

相关推荐
喵爸的小作坊8 小时前
StreamPanel:一个让 SSE 调试不再痛苦的 Chrome 插件
前端·后端·http
李少兄12 小时前
从零开始全面掌握 HTTPS
网络协议·http·https
是垚不是土12 小时前
基于Blackbox Exporter的网络服务黑盒监控体系实践
网络·数据库·安全·http·微服务·prometheus
那我掉的头发算什么12 小时前
【javaEE】保姆级 HTTP 全解析:请求响应 + 状态码 + Fiddler 实操
网络·http·java-ee·fiddler
LSL666_13 小时前
7 RESTful 规范
后端·restful
yuhaiqun198913 小时前
新手练 C++ HTTP 服务实操:从 “拆请求头” 到 “发 HTML 响应”
c语言·c++·程序人生·http·html·学习方法·改行学it
ss2731 天前
高并发读场景:写时复制容器(Copy-On-Write)
java·开发语言·rpc
我爱学习_zwj1 天前
Node.js拦截器模式实现动态HTTP服务
网络协议·http·node.js
huangyuchi.1 天前
【Linux 网络】理解并应用应用层协议:HTTP(附简单HTTP服务器C++代码)
linux·服务器·网络·网络协议·http·c/c++
捧 花2 天前
Go Web 中 WebSocket 原理与实战详解
网络·后端·websocket·网络协议·http·golang·web