zoukankan      html  css  js  c++  java
  • Web服务技术协议:REST与SOAP

    Web服务技术就有SOAP(Simple Object Access Protocol,简单对象访问协议)和REST(Representational State Transfer,表示性状态转移)

    REST: 一种采用标准URI进行调用的方案。客户端的应用通过URI来获取资源的表征。获得这些表征致使这些应用程序转变了其状态。如果你需要无状态的CRUD(Create/Read/Update/Delete,创建/读取/更新/删除)操作,那么应采用REST。

    REST所指的状态不是指客户端和服务器端的通信(无状态的),而是指客户端的应用状态和服务器端的资源状态。客户端应用状态在服务端提供的超媒体的指引下发生变迁。服务端通过超媒体告诉客户端当前状态有哪些后续状态可以进入。如下图中的link就告诉了客户端后续有哪些资源是可以访问的。

    restful风格四个特点

    1.资源,大多数资源以json格式表示

    2.统一的接口,crud分别对应http的get,post(添加),put(更新),delete(对于同一资源的操作,这四种操作的uri相同,只是通过接口区分)

    3.uri。每个uri对应一个特定的资源。(uri是资源,而url是资源的地址,url是属于uri的一部分。)

    4.无状态。所有的资源搜可以采用uri去定位,而不与其他资源产生耦合。

    优点:

    1. REST很容易理解

    2. 只要是支持HTTP/HTTPS的客户端/服务器就支持它

    3. 返回的结构可以采用(由开发者定义的)任何格式

    缺点:

    缺乏标准,因此只被看作是一种架构方法。

    SOAP1.2:

    SOAP在三个方面离不开XML(Extensible Markup Language,可扩展标记语言):SOAP信封(envelope)是基于XML的,它定义了消息里有什么以及如何处理它;一套用于数据类型的编码规则;过程调用和响应的规划。SOAP信封由传输协议(HTTP/HTTPS)发出,RPC(Remote Procedure Call,远程过程调用)得到执行,然后一个XML文档随SOAP信封返回。

    如果应用需要上下文信息与对话状态管理,那么应采用SOAP。

    优点:

    1. 基于“通用”传输协议。REST目前基于HTTP/HTTPS;而SOAP可支持任何传输协议。

    2.具备良好定义的协议,以及一套良好确立的规则

    缺点:

    由于XML较为冗长且解析费时,因此采用XML也成为一个弊端。

  • 相关阅读:
    MYSQL 神奇的操作insert into test select * from test;
    mysql innodb与myisam存储文件的区别
    centos 普通用户 和 root 相互切换方法
    MySQL
    mysql查看数据库表数量
    PHP是单线程还是多线程?
    PHP如何解决网站大流量与高并发的问题(一)
    PHP如何解决网站大流量与高并发的问题(二)
    Work at home, Work as a distributed team | TVP思享
    区块链上的虚拟开放世界游戏是怎样的?| TVP思享
  • 原文地址:https://www.cnblogs.com/qionglouyuyu/p/4617659.html
Copyright © 2011-2022 走看看