美文网首页
rest 和 restful架构总结

rest 和 restful架构总结

作者: 拉面的无聊时光 | 来源:发表于2019-04-04 10:14 被阅读0次

    Representational State Transfer 表述性状态转移

    REST是一组架构的约束和原则,符合REST原则的架构称之为RESTful架构

    RESTful架构设计

    1. 资源与URI

    URI 设计准则

    • 使用_或-来让URI可读性更好
    • 使用/来表示资源的层级关系
    • 使用?用来过滤资源
    • ,或;可以用来表示同级资源的关系
    • 一组资源用名字的复数的形式

    2.统一资源接口

    接口应该使用标准的HTTP方法如GET,DELETE,PUT和POST,并遵循这些方法的语义,同时遵循http响应状态码

    方法 幂等性 安全性
    GET yes yes
    HEAD yes yes
    PUT yes no
    POST no no
    DELETE yes no
    PATCH no no

    2.资源的表述

    资源的表述包括数据和描述数据的元数据,在http中,这主要体现在请求头中的accept 和 content-type等。例如

    # Request
    GET https://api.github.com/orgs/github HTTP/1.1
    Accept: application/json
    
    # Response 
    HTTP/1.1 200 OK
    Content:application/json;charset=utf-8
    

    Accept可以更加丰富的表述

    Accept: vnd.example-com.foo+json; version=1.0
    Accept: vnd.example-com.foo+json; version=1.2
    Accept: vnd.example-com.foo+json; version=2.0
    

    3.资源的链接

    超媒体即应用状态引擎,即要求在表述格式和响应内容里边加入链接来引导客户端。在 RESTful 应用程序中的超媒体

    4. 状态的转移

    状态应该区分应用状态和资源状态,客户端负责维护应用状态,而服务端维护资源状态。客户端与服务端的交互必须是无状态的,并在每一次请求中包含处理该请求所需的一切信息。服务端不需要在请求间保留应用状态,只有在接受到实际请求的时候,服务端才会关注应用状态。这种无状态通信原则,使得服务端和中介能够理解独立的请求和响应。

    相关资料

    相关文章

      网友评论

          本文标题:rest 和 restful架构总结

          本文链接:https://www.haomeiwen.com/subject/nozobqtx.html