目录

  • 约束
  • Representational State Transfer
    • Resources
    • Representational
    • State Transfer

约束

前后端分离出现后,后端提供给前端的 API 应该如何设计成则便于理解容易使用的,成了一个问题。而所谓的 RESTful 就是用来规范后端提供的 API 的一种约束

Representational State Transfer

RESTful,意思是 REST 风格的。

REST 是 Representational State Transfer 的缩写,意思是表现层的 状态 转化

这里其实还缺一个东西。什么的表现层?Resources,资源

Resources

Resources,资源,网络上的一个信息实体。它可以是一段文本、一张图片、一首歌曲、一种服务。

每一个资源都有一个唯一标识,在 Web 中这个唯一标识就是URI (Uniform Resource Identifier)。
URI 既可以是资源的地址(URL,Uniform Resource Location),也可以是资源的名称(URN,Uniform Resource Name)。

要获取这个资源,访问它的URI就可以。所谓"上网",就是与互联网上一系列的"资源"互动,调用它的URI。

Representational

Representational,表现层的。表现层是资源的表现形式。如果资源是文本,表现层可以是 txt、html、json;如果资源是文件,表现层可以是 jpg、png。

State Transfer

State Transfer,状态转化。

访问一个网站,就代表了客户端(前端)和服务器(后端)的一个互动过程。在这个过程中,势必涉及到数据和状态的变化。

互联网通信协议 HTTP 协议,是一个无状态协议。这意味着,所有的状态都保存在服务器端。因此,如果客户端想要操作服务器,必须通过某种手段,让服务器端发生"状态转化"( State Transfer)。而这种转化是建立在表现层之上的,所以就是"表现层状态转化"。

客户端用到的手段,目前来说只能是 HTTP 协议。具体来说,就是 HTTP 协议里面,四个表示操作方式的动词:POST、 DELETE、PUT、GET,对应增删改查。

GET、PUT 和 DELETE 都是幂等(一次和多次请求产生相同的副作用)的。

对于这四种操作,前端利用 Ajax 里的 method,后端利用 @RequestMapping(method= ),只有两者对应才能访问成功。

什么是 RESTful ?相关推荐

  1. RPC 笔记(01)— RPC概念、调用流程、RPC 与 Restful API 区别

    1. 基本概念 PRC 远程过程调用 Remote Procedure Call,其就是一个节点请求另外一个节点提供的服务.当两个物理分离的子系统需要建立逻辑上的关联时,RPC 是牵线搭桥的常见技术手 ...

  2. RESTful风格及其SpringMVC实现

    目录 1.RESTful概念 2.RESTful功能 3.对比:传统方式操作资源 4.SpringMVC实现传统方式操作资源 5.使用RestFul操作资源 6.SpringMVC实现RESTful操 ...

  3. RESTful API 最佳实践

    RESTful是目前最流行的 API 设计规范,用于 Web 数据接口的设计. 它的大原则容易把握,但是细节不容易做对.本文总结 RESTful 的设计细节,介绍如何设计出易于理解和使用的 API. ...

  4. Spring Boot 集成Swagger2生成RESTful API文档

    Swagger2可以在写代码的同时生成对应的RESTful API文档,方便开发人员参考,另外Swagger2也提供了强大的页面测试功能来调试每个RESTful API. 使用Spring Boot可 ...

  5. java鉴权_一个开箱即用的高效认证鉴权框架,专注于restful api的认证鉴权动态保护...

    作者:tomsun28 来源:SegmentFault 思否 写在开头 看了看这个专栏的最近一篇文章已经是两年前了,时间过得好快.应该是出学校后时间就很快了.两年前因为用shiro后,自己就按着想法开 ...

  6. as 不显示gradle视图_Python构建RESTful网络服务[Django篇:基于类视图的API]

    系列文章介绍 本系列文章将详细介绍将Django官方引导教程中的投票项目改写为RESTful网络服务.Django官方教程地址https://docs.djangoproject.com/zh-han ...

  7. vue项目构建实战基础知识:SPA理解/RESTful接口介绍/static目录配置/axios封装/打包时map文件去除...

    一.SPA 不是指水疗.是 single page web application 的缩写.中文翻译为 单页应用程序 或 单页Web应用,更多解释请自行搜索. 所有的前端人员都应该明白我们的页面的 u ...

  8. [转] 理解RESTful架构

    FROM:http://www.ruanyifeng.com/blog/2011/09/restful.html 越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 这种"互联网软件 ...

  9. php 开发restful api,用PHP创建RESTful API?

    如果您的服务支持所有CRUD操作,则始终建议实现RESTful接口.这样做并不是很难.我已经概述了下面的一些基础知识. RESTful服务只是做了一些事情: >它使用HTTP请求方法进行CRUD ...

  10. 接口是什么意思_程序员天天用却不懂得冷知识,这两句口诀,让你理解RESTful接口...

    在我们前后端交互过程中,我们经常提到一个英文单词RESTful,那么什么是RESTful接口呢? REST,全称Resource Representational State Transfer,翻译成 ...

最新文章

  1. python之模块csv之CSV文件的写入(按行写入)
  2. 日常生活 -- STM32开发前言
  3. 007-流程控制 if 语句
  4. 入门Pandas不可不知的技巧
  5. android 根据滑动隐藏或显示导航 类似手机QQ好友个人信息
  6. 基于SDN的环路通信
  7. 3h精通OpenCV(三)-重调大小与图像裁剪
  8. WDS+ADK+MDT 部署轻触式系统安装(1)《准备》
  9. 软件工程的23种设计模式
  10. nginx “504 Gateway Time-out”错误
  11. 查看360极速浏览器保存的密码方法步骤
  12. Ubuntu16.0微信安装
  13. c语言购买电影票程序,求助,怎么改把程序产生数据写入文件里,电影票管理系统,大佬们...
  14. linux shell 宏定义_一篇教会你写90%的shell脚本
  15. 【Bandit Algorithms学习笔记】UCB算法的理论证明
  16. 分页第一页用0还是1_计算机用0 和1刻画文字、图片和声音
  17. 银河麒麟安装配置python39
  18. 20200906——阅读 日志系统:一条SQL更新语句是如何执行的?
  19. 百面深度学习 | 第八期:物体检测模型的发展概况
  20. unity开发日记之火箭发射

热门文章

  1. python中日期格式和时间戳格式的转换
  2. vue 数据传输加密、加签、数字信封应用
  3. 【数值分析×机器学习】使用CNN进行雅可比预条件子的生成(烦)
  4. 手机邮箱怎么注册申请,手机邮箱在哪里找到,电子邮箱怎么弄?
  5. 青云云服务器怎么上传文件,青云QingCloud发布文件存储,进一步完善软件定义存储解决方案...
  6. mshtml与System.Windows.Forms.HtmlElement
  7. 网易宝系统架构之我见:高可用篇
  8. 什么是DCS系统?DCS和SCADA的区别
  9. 《数据库系统概论》复习笔记
  10. 2022年武汉市创新型中小企业认定条件和评价指标