![]() |
1
23
嗯…简单来说,两者都是非常抽象的模型…所以抽象地说,它们自然地无处不在… REST是使用全局标识符(HTTP中的URI)对资源进行寻址的思想,该标识符在 CRUD 方式(使用) POST , GET ,如果是HTTP,则放入并删除…好吧,至少是这个主意…… rpc是这样一种思想,即在不同的机器上调用一个过程,传递一些参数,并获取一个返回值… There is a nice short comparison on Wikipedia 坚持不懈地创造一种服务,它允许两者(诚然,以一种非常优雅的方式)。它是 RESTful (尽管它不仅使用HTTP功能来实现这一点) 和 显示RPC接口… 最后,您应该看看应用程序需要做什么…作为大多数人,您可能最终会得到一个RPC API(基于 XML 或 JSON 或者其他的),它包括一个部分可休息的子系统的传输层…这是因为,拥有休息意味着灵活性…如果客户机可以或多或少地自由地遍历服务器上的数据(通过一组简单的CRUD方法),它不依赖于通过API公开的有限(特定于问题的)方法集,并且您可以将逻辑客户机转移到…… |
![]() |
2
56
理解它的最好方法是阅读罗伊·T·菲尔丁关于它的论文或他的相关文章。 blog 在这里,他讨论了纯REST和简单RPC体系结构之间的区别。 另一个需要注意的是,维基百科关于休息的文章情况很糟糕,菲尔丁本人,休息的“发明者”,暗示这篇文章是不准确的。 人们对REST最怀念的是可发现性——资源应该包括超文本中其他相关资源的URI,而不是依赖于超出范围和不标准的URI命名约定。 常见的RPC实现(如SOAP或XML-RPC)的一个大问题是,它们在自己的专有体系结构下使用HTTP,而不是利用HTTP的所有不同属性(如Put、Get、Delete等),因此这也不适合传统的Web堆栈-例如,中间的缓存服务器无法与不知道rpc调用内容的含义。 这是对REST和RPC的一个不完整的介绍,但我认为我强调了一些经常被忽略的重要要点。小心点,因为外面有很多错误的信息。 也就是说,休息不是万能的。它是一个体系结构,所以它在实现它的方式上相当灵活。但是,如果主要作为资源访问东西没有意义,那么REST可能不适合,或者它可能只适合应用程序的某些部分,这很好。 |
![]() |
3
6
有三种不同的服务类型:
SOAP和REST是从 W3C 主要的区别是SOAP使用HTTP、SMTP等作为传输协议,而REST使用它作为应用程序协议,也就是说它应该支持(get、put、push、delete和post)。SOAP还意味着使用XML,而REST可以使用任何数据类型(JSON、XML、HTTP等)。此外,SOAP的一个主要优点是服务描述符(WSDL文件),它为客户机提供了自动生成服务连接器(代理)的可能性。 没有一个 silver bullet ;Web服务的类型和体系结构取决于实际的客户机和技术需求。 关于这个主题的一般概念,请参阅马丁·福勒的签名书之一。- Service Design Patterns |
![]() |
lonix · 使用sed从JSON中提取非贪婪正则表达式 1 年前 |
![]() |
Henry · 使用Python将json重新格式化为键值对 2 年前 |
![]() |
eymentakak · json字典类型错误:字符串索引必须是整数 2 年前 |
![]() |
Vodka · 如何将单个json对象转换为json数组? 2 年前 |
![]() |
Alper · 从json转换为数据帧? 2 年前 |