zoukankan      html  css  js  c++  java
  • 网络协议-restful协议

    restful api:https://zhuanlan.zhihu.com/p/97978097    rest风格接口介绍
    REST

    Representational State Transfer, 是一种软件架构风格,提供一系列限制指导,用于更好的创建web service
    符合REST 架构风格的web service 称为Restful web service。

    其核心是以资源为关注点,而不是方法或消息, RESTful通常是用URL定位资源,HTTP动词(GET, POST, DELETE, PUT等) 描述对资源的操作,该操作过程即改变资源的表现形式,可使用JSON, XML等文件传递该资源操作信息。

     
    Level 3.png

    Web端主要负责渲染和附带处理简单的商务逻辑,通过Restful API (JSON或其他格式,动词 + 名词)来传递数据和改变数据状态

    对比RPC & SOAP

    简要对比下RPC & REST & SOA,不同的服务器向客户端提供服务的方法

    1. RPC从一台机器(客户端)上通过参数传递的方式调用另一台机器(服务器)上的一个函数或方法(可以统称为服务)并得到返回的结果。
    2. SOAP 简单对象访问协议,是一种协议,规定以XML格式传输。
    3. REST 针对各Client,提供了一套统一面向资源状态操作的接口规范。

    SOAP和REST严格来说不是两个对等的概念,可理解为两种服务设计思想和及其具体的实现架构。

    二者各有自己的使用场景。如果创建的分布式服务要求较好的安全性,对于传输等底层实现要求较强的可定制性,可以考虑SOAP;如果要求设计实现简单,一般来说安全性要求不高可以考虑REST。这只是一般情况,但偏于面向资源的服务使用REST有天然的优势。

    SOAP在.NET中多使用WCF框架,而RESTful则多使用Web API。
    具体可参考Microsoft技术杂志文章

    Restful API
     

    REST API.png
    GET /products : will return the list of all products
    POST /products : will add a product to the collection
    GET /products/4 : will retrieve product #4
    PATCH/PUT /products/4 : will update product #4
    
    1. 其中GET和HEAD方法不能设计可对资源状态进行改变
    2. Resource推荐使用复数,其地址推荐使用嵌套结构
    3. 使用正确的HTTP Status Code表示访问状态。
    4. 返回结果使用简明string, 适当注释。

    Restful 的好处,无需关注不同的Client等


     
    Restful.png
  • 相关阅读:
    JS 关于 URL 的编码或解码方法
    PHP 获取上一个页面的url
    踩坑 Uncaught RangeError: Maximum call stack size exceeded
    Wordpress 数据库查询错误 Call to a member function get_results() on null
    Chrome autocomplete="off"无效
    js 遍历对象属性(for in、Object.keys、Object.getOwnProperty) 以及高效地输出 js 数组
    PHP PDO fetch() 详解
    Wordpress 自定义文章类型添加 Categoried、Tags
    Mac: mac git 的安装 及实现自动补全
    Uncaught TypeError: Cannot read property of undefined In JavaScript
  • 原文地址:https://www.cnblogs.com/binghuaZhang/p/11137494.html
Copyright © 2011-2022 走看看