什么是REST,RESTful有什么优点?

前言

要解释什么是REST,就要现了解什么是API(Application Programming Interface)

形象一点来说,比如像腾讯,阿里之类,他们会提供一个API,然后我们或者一些其他的小公司就可以编写一个软件去跟这个接口相连或交互。

举个例子,比如你用手机的其他软件分享内容到微信朋友圈或者微博,这些软件就是与微信和微博的api进行了交互。

一、什么是REST?

知道了API,那么就容易理解REST了。REST是一种架构风格。

稍微具体一下什么是REST架构风格。REST:Representation State Transfer(表述性状态传输)。但要具体到REST,我们还得提到Web,因为REST是以Web为平台的。

1.1 什么是Web?

Web是什么? 分布式信息系统为超文本文件和其他对象(资源)提供访问入口。
资源是Web架构的关键点,需要3个操作:识别(identify)、表示(represent)、交互(interact)

通过这三个操作,又引出三个概念uri(统一资源定位符,包括url和urn)识别资源;representation(例如html,xml,图片,视频等)表示资源;通过协议(包括http,ftp等)与资源进行交互。

1.2 综述

所以REST就是通过使用http协议和uri,利用client/server model对资源进行CRUD(Create/Read/Update/Delete)操作。

二、RESTful有哪些优点?

为什么要使用REST风格呢?我们来介绍一下它的优点:

  1. 客户端-服务器(Client-Server)客户端服务器分离
  • 提高用户界面的便携性
  • 通过简化服务器提高可伸缩性(高性能,低成本)
  • 各组件分别优化(client、server分别进行改进和优化)
  1. 无状态(Stateless)

  2. 缓存(cache)
    服务器返回信息必须被标记是否可以缓存,如果缓存,客户端可能会重用之前的信息发送请求。

  • 减少交互次数
  • 减少交互的时延
  1. 分层系统(Layered System)
    系统组件不需要知道与它交流组件之外的事情。封装服务,引入中间层
  • 降低了复杂性
  • 提高扩展性
  1. 统一接口(Uniform Interface)
  • 提高交互的可见性
  • 单独改善组件
  1. 支持按需代码(Code-On-Demand)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: RESTful(表示"资源状态转化")是指遵循 REST(表示"表述性状态转化")风格的 Web 架构。REST 是一种软件架构风格,用于在互联网上进行通信。它使用 HTTP 协议来访问和操作资源,而不是使用特定的 API。这样的架构具有很多优点,包括可缩放性、可扩展性和可维护性。 ### 回答2: RESTful是一种软件架构风格,用于构建可扩展、可维护、分布式的网络应用程序。它是一种基于Web的通信模式,通过使用标准的HTTP协议进行通信。RESTful的核心原则包括客户端-服务器架构、无状态、可缓存、统一接口和按需组件。 RESTful架构遵循客户端和服务器的分离原则,客户端和服务器可以独立演化,并提供了可扩展性和灵活性。它使用无状态的通信方式,即服务器不会保存关于客户端的任何信息,每个请求都是完全独立的。这使得RESTful架构具有可伸缩性,可以处理大量的并发请求。 RESTful的另一个重要特点是可缓存性,即通过使用HTTP的缓存机制,来缓存服务器返回的数据。这样可以提高应用程序的性能和响应速度,减轻服务器的负载。 RESTful架构还使用统一的接口设计,使用标准的HTTP方法(如GET、POST、PUT、DELETE)来对资源进行操作,通过URI(统一资源标识符)来标识资源。这样使得不同的客户端可以使用相同的接口来访问和操作资源。 最后,RESTful架构采用按需组件的方式,即将应用程序划分为多个组件,每个组件可以独立开发和部署。这样可以提高开发效率,方便团队协作。 总而言之,RESTful是一种基于Web的软件架构风格,通过使用标准的HTTP协议,提供了一种可扩展、可维护、分布式的网络应用程序的设计原则和规范。它的核心原则包括客户端-服务器架构、无状态、可缓存、统一接口和按需组件。 ### 回答3: RESTful是一种软件架构风格,用于构建可伸缩和可维护的网络服务。它与传统的基于SOAP等协议的Web服务相比,更加简洁和灵活。 RESTful的核心原则是使用HTTP中的各种方法来实现对Web资源的操作。它提供一组统一的接口,广泛使用的方法包括GET、POST、PUT和DELETE。这些方法分别用于获取资源、创建资源、更新资源和删除资源。 RESTful的另一个重要特点是使用URL来标识资源。每个资源都有一个唯一的URL,客户端可以通过URL来访问和操作该资源。URL的结构通常是层次化的,形如“/资源类型/资源标识”,例如“/users/123”。通过URL的层次结构,我们可以方便地组织和管理大量的资源。 另外,RESTful还使用HTTP的状态码来表示请求的结果。常见的状态码包括200表示成功,201表示创建成功,404表示资源不存在等。使用状态码可以方便地传递请求结果,使客户端和服务器能够更好地进行通信和处理错误情况。 总体而言,RESTful架构将Web服务设计为资源的集合,通过HTTP方法和URL来操作这些资源,并使用状态码传递请求结果。这种设计风格使得Web服务更加灵活、可扩展和易于理解和使用。许多现代化的Web应用程序都采用了RESTful架构,以实现高效的资源管理和交互。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值