RESTful 概念

3人阅读 评论(0) 收藏 举报
分类:

概念

RESTful通常采用Http+JSON实现。Representational State Transfer 全称翻译为表现层状态转化。REST 是属于 WEB 自身的一种架构风格,是在 HTTP 1.1 规范下实现的。REST最大的几个特点为:资源统一接口URI无状态

Resource:资源。就是网络上的一个实体。
Representational:表现形式,比如用JSON,富文本等;
State Transfer:状态变化。通过HTTP 动作实现。

资源就是网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的实在。每个资源对应一个URI,想要获取一个资源,访问它的URI就可以了,URI只代表资源的实体,资源的具体表现形式,应该在HTTP请求的头信息中用Accept和Content-Type字段指定,这两个字段才是对”表现层”的描述。

客户端想与服务器互动,用到的手段只能是HTTP协议。对数据的CRUD操作,分别对应Http方法。它们分别对应四种基本操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源。

什么是RESTful架构:

rest一种软件架构风格,而不是标准,只是提供了一组设计原则和 约束条件。它主要用于客户端和服务器交互类的软件。基于这 个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制
- 每一个URI代表一种资源;
- 客户端和服务器之间,传递这种资源的某种表现层;
- 客户端通过四个HTTP动词,对服务器端资源进行操作,实现”表现层状态转化”。

Springboot 实现 Restful 服务,基于 HTTP / JSON 传输,适用于前后端分离。

@RequestMapping 处理请求地址映射。

method - 指定请求的方法类型:POST/GET/DELETE/PUTvalue - 指定实际的请求地址
GET?a=1 //普通请求
GET/a/1 //rest请求

幂等性

幂等性用来表示发送一次和多次请求引起的边界效应是一致的。
HTTP GET方法,用于获取资源,不管调用多少次接口,结果都不会改变,所以是幂等的。

GET     /listUsers # 获取用户列表
GET     /user/1    # 查看指定的用户

HTTP DELETE方法 调用一次和多次对资源产生影响是相同的,所以也满足幂等性。
HTTP POST方法是一个非幂等方法,因为调用多次,每次都会产生新的资源。
HTTP PUT方法 因为它直接把实体部分的数据替换到服务器的资源,我们多次调用它,只会产生一次影响,但是有相同结果的 HTTP 方法,所以满足幂等性。

POST和PUT对比

两者对比,两个方法都用于创建资源,本质的差别是在幂等性。HTTP POST方法是非幂等,所以用来表示创建资源,HTTP PUT方法是幂等的,因此表示更新资源更加贴切。

参考:
如何理解RESTful的幂等性
RESTful 架构风格概述

查看评论

RESTful架构基本概念

1.什么是rest 1.REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 2.REST本身并没有创造新的技术、组件或服务...
  • m0_37204491
  • m0_37204491
  • 2017-05-15 16:48:03
  • 461

Restful概念

RESTful 架构详解分类 编程技术1. 什么是RESTREST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 它首次出现在...
  • qq_36773257
  • qq_36773257
  • 2018-04-13 10:27:38
  • 1

Python Restful API 资料整理

本文描述了使用python编写Restful APIs的参考连接。希望大家少走弯路。
  • lihe2008125
  • lihe2008125
  • 2017-03-08 00:43:32
  • 1478

关于restful,rpc概念的区别

1,restful(restful是一种设计风格)一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层...
  • super__dreamer
  • super__dreamer
  • 2016-12-24 16:29:34
  • 2910

REST和RESTFUL的相关概念理解

1.REST和RESTFUL是什么    REST ( REpresentational State Transfer ),State Transfer 为 "状态传输" 或 "状态转移 ",Repr...
  • wangyajin333
  • wangyajin333
  • 2015-07-30 20:03:30
  • 9842

RESTful服务使用HTTP方法相关概念学习理解

HTTP动词包括我们的“统一接口”约束的主要部分,并且向基于名词的资源提供动作对应物。主要或最常用的HTTP动词或方法被称作,post,get,put,delete。这对应create、read、up...
  • android_freshman
  • android_freshman
  • 2017-01-17 17:54:35
  • 930

浅谈HTTP RESTful架构

RESTful 是一种非常流行的软件架构,或者说设计风格而非新的技术标准。提供了一组设计原则和约束条件,主要用于客户端与服务器的交互。RESTful架构更简洁,更有层次,更易于实现缓存等机制。 ...
  • qq_33489669
  • qq_33489669
  • 2017-02-22 09:40:47
  • 1006

yii 输入验证

验证代码,这块代码就是model里面最最常见的代码块了。另外在基本的save、update这些方法的调用里面也会做校验,所以不需要额外手工再调一次这么麻烦。// 用用户输入来填充模型的特性 $mode...
  • zoujunjie202
  • zoujunjie202
  • 2016-04-14 17:52:39
  • 235

yii验证和授权

http://www.yiichina.com/guide/topics.auth
  • cnbird2008
  • cnbird2008
  • 2013-11-12 09:38:01
  • 854

RESTful Web Service 架构剖析

如今微服务和分布式架构变的越来越流行,而简单,可靠,高效,跨平台和跨语言的 Web Service 则是这类系统架构的基石。 RESTful Web Service 恰好满足这些特点,被越来越多的系...
  • liuwenbiao1203
  • liuwenbiao1203
  • 2016-08-29 10:06:53
  • 1405
    个人资料
    持之以恒
    等级:
    访问量: 8万+
    积分: 2165
    排名: 2万+