永发信息网

Restful 和 RPC 是什么关系,有啥区别

答案:2  悬赏:30  手机版
解决时间 2021-11-23 04:12
Restful 和 RPC 是什么关系,有啥区别
最佳答案
REST (REpresentation State Transfer) 描述了一个架构样式的网络系统,比如 web 应用程序。它首次出现在 2000 年 Roy Fielding 的博士论文中,他是 HTTP 规范的主要编写者之一。REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应...
全部回答
这两个不是互斥的,HTTP是不是RPC完全取决于client的具体形式。传统的RPC一般是基于二进制协议的,client发个二进制包过来(然后阻塞),server处理完回复一个包,client收到后醒来。在二进制协议中一般可以在包中加个id来指明回复和请求的对应关系,这样我们就能在一个tcp连接上同时发起多个请求和回复。HTTP这种文本协议也可以加id,但由于一些原因(Content-Length可能缺失),即使加了id也做不到一个连接上同时传多个HTTP消息,所以HTTP协议一般会和server保持多个连接,每个连接上同时最多只有一个HTTP消息。此种”连接池“方式即为HTTP中的”Keep-alive“。所以即使在HTTP上(或任何协议上),我们仍然可以做到高效地发送一个请求过去,阻塞,等待server处理完后,再醒来。这不就是RPC么。所以这儿的选择更多是平衡功能和性能。一般来说,面向终端用户的尽量用Restful HTTP。原因是认知广,直观,编程语言都支持HTTP(包括shell,这样调试起来方便),性能不是那么重要,方便用户share链接。而面向内部系统的话如果机器不多也可以考虑用Restful HTTP,如果机器很多还是尽量用二进制的RPC吧,毕竟性能差距还是很大的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
泰程佳宾馆地址好找么,我有些事要过去,
盐城市亭湖区双元路的夜市在哪?离BRT站台远不
今日农历查询可以收庄稼吗
镇江到溧马高速苏皖省界开车怎么走
纹绣美容塑形地址有知道的么?有点事想过去!
一九八五年九月十日是第一个教师节到2015年的
聚佳缘宾馆(青岛城阳区)地址在什么地方,想过
中国邮政(西城支局)(朝阳街与铁西二道街交叉
1个月收益15%+,还能买吗
我盼望妈妈早点回来。
盱眙世纪大道老村长土灶台订餐电话
求武威凉皮 醋卤如何制作
高中化学Km啥意思
金源大酒店(青岛城阳区)地址在什么地方,我要
北京快速公交1号线早上几点到前门?
推荐资讯
户口本上何时迁入本地 我2002年10月出生 为什
69年鸡什么时间搬家好
什么是有礼貌的,manners是可数还是不可数
欧普照明客厅灯具安装概述欧 普客厅灯安装注
犯罪分子因抢劫罪、盗窃罪分别判处12年,5年
证大贷款怎么样 六万块钱一个月要还多少
我的三星s5用电很快,软件也就9个,为什么?
得鲜的rod01豆沙色和梦妆16号的豆沙色哪款比
DOes she often 这里要填什么?books on Sund
四川省农村信用社ATM(金利路)地址在什么地方
老公排卵期同房第九天了,请问早早孕最早几天
远洋文具照相馆地址有知道的么?有点事想过去
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?