什么是 RESTful ?
目录
- 约束
- 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 ?相关推荐
- RPC 笔记(01)— RPC概念、调用流程、RPC 与 Restful API 区别
1. 基本概念 PRC 远程过程调用 Remote Procedure Call,其就是一个节点请求另外一个节点提供的服务.当两个物理分离的子系统需要建立逻辑上的关联时,RPC 是牵线搭桥的常见技术手 ...
- RESTful风格及其SpringMVC实现
目录 1.RESTful概念 2.RESTful功能 3.对比:传统方式操作资源 4.SpringMVC实现传统方式操作资源 5.使用RestFul操作资源 6.SpringMVC实现RESTful操 ...
- RESTful API 最佳实践
RESTful是目前最流行的 API 设计规范,用于 Web 数据接口的设计. 它的大原则容易把握,但是细节不容易做对.本文总结 RESTful 的设计细节,介绍如何设计出易于理解和使用的 API. ...
- Spring Boot 集成Swagger2生成RESTful API文档
Swagger2可以在写代码的同时生成对应的RESTful API文档,方便开发人员参考,另外Swagger2也提供了强大的页面测试功能来调试每个RESTful API. 使用Spring Boot可 ...
- java鉴权_一个开箱即用的高效认证鉴权框架,专注于restful api的认证鉴权动态保护...
作者:tomsun28 来源:SegmentFault 思否 写在开头 看了看这个专栏的最近一篇文章已经是两年前了,时间过得好快.应该是出学校后时间就很快了.两年前因为用shiro后,自己就按着想法开 ...
- as 不显示gradle视图_Python构建RESTful网络服务[Django篇:基于类视图的API]
系列文章介绍 本系列文章将详细介绍将Django官方引导教程中的投票项目改写为RESTful网络服务.Django官方教程地址https://docs.djangoproject.com/zh-han ...
- vue项目构建实战基础知识:SPA理解/RESTful接口介绍/static目录配置/axios封装/打包时map文件去除...
一.SPA 不是指水疗.是 single page web application 的缩写.中文翻译为 单页应用程序 或 单页Web应用,更多解释请自行搜索. 所有的前端人员都应该明白我们的页面的 u ...
- [转] 理解RESTful架构
FROM:http://www.ruanyifeng.com/blog/2011/09/restful.html 越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 这种"互联网软件 ...
- php 开发restful api,用PHP创建RESTful API?
如果您的服务支持所有CRUD操作,则始终建议实现RESTful接口.这样做并不是很难.我已经概述了下面的一些基础知识. RESTful服务只是做了一些事情: >它使用HTTP请求方法进行CRUD ...
- 接口是什么意思_程序员天天用却不懂得冷知识,这两句口诀,让你理解RESTful接口...
在我们前后端交互过程中,我们经常提到一个英文单词RESTful,那么什么是RESTful接口呢? REST,全称Resource Representational State Transfer,翻译成 ...
最新文章
- python之模块csv之CSV文件的写入(按行写入)
- 日常生活 -- STM32开发前言
- 007-流程控制 if 语句
- 入门Pandas不可不知的技巧
- android 根据滑动隐藏或显示导航 类似手机QQ好友个人信息
- 基于SDN的环路通信
- 3h精通OpenCV(三)-重调大小与图像裁剪
- WDS+ADK+MDT 部署轻触式系统安装(1)《准备》
- 软件工程的23种设计模式
- nginx “504 Gateway Time-out”错误
- 查看360极速浏览器保存的密码方法步骤
- Ubuntu16.0微信安装
- c语言购买电影票程序,求助,怎么改把程序产生数据写入文件里,电影票管理系统,大佬们...
- linux shell 宏定义_一篇教会你写90%的shell脚本
- 【Bandit Algorithms学习笔记】UCB算法的理论证明
- 分页第一页用0还是1_计算机用0 和1刻画文字、图片和声音
- 银河麒麟安装配置python39
- 20200906——阅读 日志系统:一条SQL更新语句是如何执行的?
- 百面深度学习 | 第八期:物体检测模型的发展概况
- unity开发日记之火箭发射
热门文章
- python中日期格式和时间戳格式的转换
- vue 数据传输加密、加签、数字信封应用
- 【数值分析×机器学习】使用CNN进行雅可比预条件子的生成(烦)
- 手机邮箱怎么注册申请,手机邮箱在哪里找到,电子邮箱怎么弄?
- 青云云服务器怎么上传文件,青云QingCloud发布文件存储,进一步完善软件定义存储解决方案...
- mshtml与System.Windows.Forms.HtmlElement
- 网易宝系统架构之我见:高可用篇
- 什么是DCS系统?DCS和SCADA的区别
- 《数据库系统概论》复习笔记
- 2022年武汉市创新型中小企业认定条件和评价指标