博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于restful的协议
阅读量:2506 次
发布时间:2019-05-11

本文共 907 字,大约阅读时间需要 3 分钟。

RESTful介绍

REST(Representational State Transfer,表述性状态转移)是一种架构风格,在REST架构风格中,对象被抽象为一种资源,资源的命名用概念清晰的名词来定义。

RESTful的特点是方法信息存在于HTTP的方法中,作用域存在URI中。
REST的四个关键部分:
这里写图片描述

1)资源:资源是一个抽象的概念,是对某类信息实体的抽象。

2)表述:资源的表述是对资源在某个特定时刻的状态的描述。即HTTP请求头Accept和Content-Type字段指定内容,例如txt、html、xml、json等
3)状态转移:指在客户端与服务器端交互的过程中,客户端能够通过资源的表述实现操作资源的目的。HTTP是一个无状态的协议,这意味着资源所有的状态都保存在服务器端。因此如果客户端想要操作资源必须通过某种手段让服务器发生状态的转移,而这种转移是建立在资源的表述之上的,所以通常将其称为表述层状态转移。
4)统一接口:客户端操作资源的方式通常是基于HTTP的4个动词:GET、POST、PUT、DELETE。不管请求的URI是什么请求的资源有什么不同,但操作资源的接口都是统一的。

RESTful常见方法

HTTP提供了四种基本方法。GET、POST、PUT、DELETE。

方法 描述
GET 为了获取一个表述而作的一次请求,该种类型的请求主观上并没有去改变服务器上资源状态的意图。即获取资源的某个表述。
POST 基于给定的表述信息,在当前资源的下一级创建新的资源。
DELETE 销毁一个资源。
PUT 用给定的表述信息替换资源的当前状态。

RESTful URI规则

对于命名资源的方式,URI有三条基本规则:

① 用路径变量来表达层次结构:/parent/child。通过使用斜线来分割各个作用域信息以形成一个层次结构。
② 在路径变量里加上标点符号,以消除误解:/parent/child1;child2。用逗号或分号表达非层次结构,当作用域信息的次序有关紧要时就用逗号,否则就用分号。
③ 用查询变量来表达算法的输入:/serach?q=jellyfish&start=20。

你可能感兴趣的文章
在eclipse上用tomcat部署项目404解决方案
查看>>
web.xml 配置中classpath: 与classpath*:的区别
查看>>
suse如何修改ssh端口为2222?
查看>>
详细理解“>/dev/null 2>&1”
查看>>
suse如何创建定时任务?
查看>>
suse搭建ftp服务器方法
查看>>
centos虚拟机设置共享文件夹并通过我的电脑访问[增加smbd端口修改]
查看>>
文件拷贝(IFileOperation::CopyItem)
查看>>
MapReduce的 Speculative Execution机制
查看>>
大数据学习之路------借助HDP SANDBOX开始学习
查看>>
Hadoop基础学习:基于Hortonworks HDP
查看>>
为什么linux安装程序 都要放到/usr/local目录下
查看>>
Hive安装前扫盲之Derby和Metastore
查看>>
永久修改PATH环境变量的几种办法
查看>>
大数据学习之HDP SANDBOX开始学习
查看>>
Hive Beeline使用
查看>>
Centos6安装图形界面(hdp不需要,hdp直接从github上下载数据即可)
查看>>
CentOS7 中把yum源更换成163源
查看>>
关于yum Error: Cannot retrieve repository metadata (repomd.xml) for repository:xxxxxx.
查看>>
2020-11-18
查看>>