美文网首页
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架构总结

    Representational State Transfer 表述性状态转移 REST是一组架构的约束和原则,符...

  • RESTful了解及Swagger

    RESTful 架构 一、什么是RESTful REST全称是Representational State Tra...

  • RESTful API 设计

    RESTFUL架构 RESTful架构,就是目前最流行的一种互联网软件架构,定名为REST,即Representa...

  • Django:rest framework框架

    一、restful架构 1、restful概述 ——REST即表述性状态传递(英文:Representationa...

  • 20_RESTful 十大规范

    RESTful规范 一、什么是RESTful REST与技术无关,代表的是一种软件架构风格,REST是Repres...

  • RESTful API设计风格

    什么是RESTful架构 Fielding最早在他的论文中提出REST理念REST(Representationa...

  • 谈谈什么是Restful架构

    1:什么是RESTful架构?REST:Representational State Transfer;表现层状态...

  • 架构之:REST和RESTful

    简介 近几年微服务是如火如荼的在发展,而微服务之间的调用和渐渐的从RPC调用转移到了HTTP调用。于是经常听到有些...

  • 【spring0】web

    基本上都和REST相关理解RESTful架构 JPA(Java Persistence API):Java持久层A...

  • 2019-05-11

    RESTful REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful...

网友评论

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

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