restful与rpc请求风格
restful简称rest:
rest是以资源为中心,使用统一的接口url,使用get,post,put,patch,delete等方法来请求资源
rest风格原则条件:
C/S结构,
无状态:web应用程序最重要的rest原则是,客户端和服务的之间的交互在请求之间是无状态的。
可以cache(缓存):无状态请求可以由任何可用服务器回答
统一接口:在服务器端,应用程序状态和功能可以分为各种资源,资源是一个概念实体,它向客户端公开,所有资源都使用URI( Universal Resource Identifier 通用资源标识),所有资源都共享统一的接口,以便在客户端和服务端之间传输状态。
分层系统:表示组件无法了解 它与之交互的中间层 以外的组件,通过将系统知识限制在单个层,可以限制整个系统的复杂性,促进底层独立性。
rpc:
rpc即远程调用,以资源为中心,RPC是分布式架构的核心,按响应方式分为两种:
同步调用:客户端调用服务方法,等待服务端返回结果或超时,再继续自己的操作
异步调用:客户端把消息发送给中间件,不在等待服务端返回,直接继续自己的操作
同步调用的实现方式有WebService和Rmi,WebService提供的服务基于web容器,底层是http协议,因而适用于不同语言异构系统见的调用。
异步调用的实现方式JMS(JAVA Message Service)消息中间件
RPC与REST的区别:
1.RPC通常使用TCP,UDP通信协议,二进制方式的通讯协议,json序列化
REST通常使用http通讯协议,json序列化
2.RPC以操作方法为中心
REST以资源为中心
3.RPC在扩展的时候不方便,因为当你需要加入新的功能的时候需要加入更多的方法,服务端去实现相应的方法,客户端去调用相应的方法
而REST方便扩展,以资源为核心,例如 host/aa 这个请求路径,无论这个路径对应的服务怎么变化客户端无需关注和更新,因为客户端关注的是它的url
使用聊天软件时用的是RPC风格的通讯,使用浏览器,通过http请求服务资源时用的是RES风格
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构