REST是什么

2024-06-23 02:32
文章标签 rest

本文主要是介绍REST是什么,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

REST=Representational State Transfer的缩写。“表现层状态转化”。

REST的名称“表现层状态转化”中,省略了主语。“表现层”其实指的是“资源(Resources)”的表现层。

资源(Resources)

所谓的资源,就是网络上的一个实体,或者说是网络上的一个具体信息。他可以是一段文本、一张图片、一首歌曲,总之就是一个具体的实在。可以用一个URI指向他,每种资源对应一个特定的URI。要获得这个资源,访问它的URI就可以,因此URI就成了每一个资源的地址或第一无二的识别符。

表象层(Representation)

“资源”是一种信息实体,它可以有多种外在表现形式。把“资源”具体呈现出来的形式,叫做它的“表现层”(Representation)。

比如,文本可以用txt格式表现,也可以用HTML格式、XML格式、JSON格式表现;图片可以用JPG格式表现,也可以用PNG格式表现。

URI只代表资源的实体,不代表它的形式。严格地说,有些网址最后的“.html”后缀名是不必要的,因为这个后缀名表示格式,属于“表现层”的范畴,而URI应该只代表“资源”的位置。它的具体表现形式,应该在HTTP请求的头信息中用Accept和Content-Type字段指定,这两个字段才是对“表现层”的描述。

状态转化(State Transfer)

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

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

客户端用到的手段,只能是HTTP协议。具体来说,就是HTTP协议里面,四个表示操作方式的动词:GET、POST、PUT、DELETE。分别对应基本操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源。

注意事项

  1. 每一个URI代表一种资源;
  2. 客户端和服务器之间,传递这种资源的某种表现层;
  3. 客户端通过四个HTTP动词,对服务器端资源进行操作,实现“表现层状态转化”。
  4. REST设计最常见的一种设计错误,就是URI包含动词。因为“资源”表示一种实体,所以应该是名词,URI不应该有动词,动词应该放在HTTP协议中。

例如,某个URI是/posts/show/1,其中show是动词,这个URI就设计错了,正确的写法应该是/posts/1,然后用GET方法表示show。

 

这篇关于REST是什么的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1086055

相关文章

【JavaScript】函数中的arguments对象与Rest参数

arguments   JavaScript函数可以使用任意数量的参数(允许未知数量的函数参数)。在ES6之前,JavaScript有一个变量来访问这些未知或可变数目的参数,这是一个类似数组的对象,并非一个数组,称为arguments,与传递给函数的参数相对应。传递给JavaScript函数的所有参数都可以使用arguments对象来引用。      在上面的函数中,num1和num2

无需外部servlet容器,基于Spring+netty实现rest风格的url请求

无需外部servlet容器,基于Spring+netty实现rest风格的http请求并实现Spring的@RestController功能。 netty自身提供了对http的支持,通过FullHttpRequest对象可以获取请求的url,和http请求方式,但是并没有处理url应该怎么处理请求.所以基本思路是: 1. 自定义注解:@Rest,@ReqMapping,@ReqParam , @

关于springboot的Rest请求映射处理的源码分析(一)

我们在开发中很常见的一种方式是通过请求的类型,也就是restful风格来区别我们的请求接口。 通过请求类型的不同(GET POST PUT DELETE) 来区分即便是请求路径相同的请求。 但是他的底层是如何支持的呢,明明我请求路径都是/user。就因为类型不同就能区分到不同的接口。 接下来我们就看看这部分实现。从这个实现开始,我们将会彻底打通关于springboot中的请求处理的所有原理。 一

Geoserver的 rest、wfs、wms、wps接口请求指南

前言 时光如白驹过隙,不知不觉间已经干了7年的GIS开发了,一路走来跌跌撞撞的,跟随着时代的洪流行尸走肉般的生存着(此处省略n个字,全是感慨) 一、官方API地址 geoserver官方的api地址还是比较全的,我整理了下放到了下面 文档地址:传送门rest接口地址:传送门wfs服务接口地址:传送门wms服务接口地址:传送门wps服务接口地址:传送门 二、请求示例 以wfs查询为例做一

Django REST Framework(十九)权限

Django REST framework (DRF) 的权限认证涉及以下几个方面:全局权限配置、局部权限配置、自定义权限类、以及自定义认证类。以下是关于这些方面的详细说明: 1. 全局权限配置 在 Django 项目的配置文件 settings.py 中,可以全局配置 DRF 的权限管理类。这种设置适用于整个项目中的所有视图。默认情况下,如果不做任何配置,DRF 会允许所有用户访问视图(Al

PL/SQL调用REST API上传附件

PL/SQL调用REST API上传附件 概述代码示例说明 概述 本文主要介绍如何用PL/SQL程序调用REST API上传附件。初始代码源自github, 经过修改测试。 代码示例 TYPE part IS RECORD(ds_header VARCHAR2(2048),ds_value VARCHAR2(1024),ds_blob BFILE);TYPE pa

在VSCode中使用REST Client插件调试HTTP接口

在 VSCode 中安装 REST Client 扩展程序。新建 test.http 文件。编写请求 请求编写格式可以查看 REST Client 扩展程序说明。点击“Send Request”发送请求       5. 等待请求完成查看响应           请求完成会自动打开响应结果。响应结果上面部分是响应头,下面部分是响应体。

REST--REpresentational State Transfer

GET 获取资源 POST 新建资源,也可用来更新资源 PUT 更新资源 DELETE 删除资源

Spring Cloud(三)服务提供者 Eureka + 服务消费者(rest + Ribbon)

Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。它是一个基于HTTP和TCP的客户端负载均衡器。它可以通过在客户端中配置ribbonServerList来设置服务端列表去轮询访问以达到均衡负载的作用。 Ribbon是什么? Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务

Django后端架构开发:从匿名用户API节流到REST自定义认证

🎯Django后端架构开发:从匿名用户API节流到REST自定义认证 在现代Web应用中,后端架构的开发至关重要。无论是用户的认证与权限管理,还是API的节流与数据序列化,都需要一个高效且安全的实现方案。本文将带领大家深入探讨Python Django后端架构开发的关键要素,涵盖匿名用户配置、REST自定义认证、权限机制、模型搭建以及请求和响应的处理。通过实战代码和详细解析,帮助您掌握构建