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 小时前
【Linux】网络编程 —— 传输层协议 TCP(下)
linux·运维·服务器·网络·tcp/ip·http·php
运维全栈笔记1 天前
致远 OA HTTPS 配置避坑指南
网络协议·http·https
A_humble_scholar1 天前
Linux 网络基础(三)下的 HTTP 核心详解:从请求响应到状态管
linux·网络·http
xfhuangfu2 天前
Oracle中建立到CDB和PDB的连接
数据库·oracle·rpc
美人胖八分2 天前
RESTful、GraphQL 与 gRPC 接口设计规范及最佳实践
restful·graphql·设计规范·api接口
一木 之林2 天前
Python.六.(一)--1.标准库、常用工具与基础操作(进阶)
python·rpc·dubbo
pcplayer2 天前
Delphi WebService 使用 HTTP Header 管理 Session
http·webservice·soap·web server·http header
FfHUCisI2 天前
Golang HTTP 路由设计与请求处理
开发语言·http·golang
小新讲网安2 天前
HTTP请求走私攻击实战:CL.TE与TE.CL绕过前端服务器全解析
服务器·前端·网络·web安全·http·架构·漏洞
wear工程师3 天前
接口超时别只调大 timeout:Java HTTP 客户端其实有 3 段等待
java·http