我正在尝试在REST和JSON-RPC之间进行选择,以便为Web应用程序开发API.哪一个更容易用于API客户端?
更新2015:我发现REST更易于开发和使用在Web/HTTP上提供的API,因为API可以利用客户端和服务器都能理解的现有和成熟的HTTP协议.例如,API可以使用响应代码,标题,查询,帖子正文,缓存和许多其他功能,而无需任何额外的工作或设置.
我将我在github上托管的git repo克隆到我的笔记本电脑上.我能够毫无问题地成功地将几个提交推送到github.但是,现在我收到以下错误:
Compressing objects: 100% (792/792), done.
error: RPC failed; result=22, HTTP code = 411
Writing objects: 100% (1148/1148), 18.79 MiB | 13.81 MiB/s, done.
Total 1148 (delta 356), reused 944 (delta 214)
Run Code Online (Sandbox Code Playgroud)
从这里,它只是挂起,我终于有机会CTRL+ C回终端.
实际上,我已经完成了与Pyro和RPyC的一些工作,但是有比这两个更多的RPC实现.我们可以列出它们吗?
基于Python的原生协议:
具有许多底层协议的RPC框架:
基于JSON-RPC的框架:
肥皂:
基于XML-RPC的框架:
其他:
有人可以向我解释Document和RPC风格的webservices之间的区别吗?除了JAX-RPC之外,下一个版本是JAX-WS,它支持Document和RPC样式.我也理解文档样式webservices是用于异步通信的,其中客户端在收到响应之前不会阻塞.
无论哪种方式,使用JAX-WS我当前使用@Webservice注释服务,生成WSDL,并从该WSDL生成客户端工件.
收到工件后,在两种样式中,我都会在端口上调用方法.现在,这在RPC样式和文档样式上没有区别.那有什么区别,这种差异在哪里可见?
同样,SOAP over HTTP与HTTP上的XML有何不同?毕竟SOAP也是带有SOAP命名空间的XML文档.
我需要为大学项目学习Apache Thrift.正如本教程所说,它是一个RPC框架,它是我为Thrift找到的唯一文档,而不是他们的文档.
有人能告诉我什么是RPC框架,这与Apache Thrift有什么关系?
是否有任何明确的RPC和Web服务定义?快速维基百科搜索显示:
RPC:远程过程调用(RPC)是一种进程间通信技术,它允许计算机程序使子例程或过程在另一个地址空间(通常在共享网络上的另一台计算机上)上执行,而无需程序员明确编写详细信息这种远程互动.
Web服务:Web服务通常是应用程序编程接口(API)或Web API,可通过超文本传输协议访问,并在托管所请求服务的远程系统上执行.Web服务往往属于两大阵营之一:Big Web Services [1]和RESTful Web Services.
我不太清楚这两件事之间的真正区别.似乎有一件事可能属于RPC,同时也是一种Web服务.
Web Service是RPC的更高级别表示吗?
我有一个Web服务,它接受JSON参数并具有方法的特定URL,例如:
http://IP:PORT/API/getAllData?p={JSON}
Run Code Online (Sandbox Code Playgroud)
这绝对不是REST,因为它不是无状态的.它需要考虑cookie并拥有自己的会话.
是RPC吗?RPC和REST有什么区别?
可能重复:
Java Python集成
我有一个用100%Java编写的大型现有代码库,但我想将Python用于它的一些新部分.我需要做一些文本和语言处理,而我更喜欢使用Python和像NLTK这样的库来做这件事.
我知道Jython项目,但看起来这代表了一种在Python中使用Java及其库的方法,而不是相反 - 我错了吗?
如果没有,那么在Java和Python之间进行接口的最佳方法是什么,这样(理想情况下)我可以在Python中调用一个方法并将结果返回给Java?
谢谢.