zoukankan      html  css  js  c++  java
  • 简略整理一下RPC、WebService、Restful、Json、Xml这些概念之间的关系

    RPC有2层含义:

    (1)      (协议层)编码方式

    (2)      (传输层)传输方式

     

    RPC

    协议层传输层

    TCP

    WebSocket

    Http(WebService)

    文本

    XML

    /

    /

    Xml-Http(SOAP)

    Json

    Json-RPC(TCP)

    Json-RPC(WebSocket)

    Json-Http

    Yaml

    *

    *

    *

    WSDL

    /

    /

    *

    *

    /

    /

    Corba

    *

    /

    /

    RMI

    2进制

    Thrift

    Thrift

    /

    /

    Protobuf

    Protobuf

    gRPC

    MsgPack

    MsgPack

    /

    /

    hessian

    hessian

    /

    /

    dobbo

    dobbo

    /

    /

    RestFul

     

    有些概念(技术)之间的关系不适合比较,因为不属于同一个层次;比如Restful、WebService, etc。

    众所周知,Json-RPC很普遍;但是Json-RPC并没有限制承载协议,不必只能用Http,WebSocket、TCP照样可以。

    有一个地方大家误会很多,Restful,以为与Http关系严密就像搞基;其实,RestFul也没有限制承载协议(会话层协议),不必非要Http,满足Restful的原则即可。

     

    另外,RestFul并非什么新鲜东西,其实满大街都是;我们能看见的Web服务,大多数是RestFul的,只不过实现不像RestFul期望得那么完整。

    (图表里,对Corba、RMI的归类很大可能是错的,对于这些老古董,其实不必太关心)

     

  • 相关阅读:
    Arduino学习笔记10
    Arduino学习笔记07
    Arduino学习笔记6
    Arduino学习笔记5
    Arduino学习笔记4
    Arduino学习笔记3
    linux下库文件的编程
    学习编程语言究竟学什么
    Arduino学习笔记2---数字温度计
    Arduino学习笔记0---开发板的了解
  • 原文地址:https://www.cnblogs.com/andypeker/p/6069193.html
Copyright © 2011-2022 走看看