网站首页 > 技术教程 正文
什么是 REST API
REST 是 REpresentational State Transfer 的缩写,是分布式超媒体系统的架构风格。Roy Fielding 于 2000 年在他的著名论文中首次提出了这一点。从那时起,它已成为构建基于 Web 的 API(应用程序编程接口)的最广泛使用的方法之一。
REST **不是一种协议或标准,而是一种架构风格**。在开发阶段,API 开发人员可以通过多种方式实现 REST。符合REST架构风格的Web API(或Web Service)称为 REST API(或RESTful API)。
REST API 风格
REST(Representational State Transfer)是一种基于网络的软件架构风格,它的设计原则包括以下六个方面:
1. 统一接口(Uniform Interface):定义了一组通用的接口约束,包括资源的标识、资源的操作和资源的表示。这样可以使不同的组件之间更加松耦合,提高系统的可扩展性和可维护性。
2. 客户端-服务器(Client-Server):将应用程序分为客户端和服务器两个部分,它们之间通过接口进行通信。这种分离可以提高系统的可扩展性和简化组件的开发。
3. 无状态(Stateless):服务器不会保存客户端的状态信息,每个请求都是独立的。这样可以减少服务器的负担,提高系统的可伸缩性。
4. 缓存(Cache):客户端可以缓存服务器的响应,以减少网络传输和提高性能。服务器可以通过设置响应头来控制缓存的行为。
5. 分层系统(Layered System):将系统分为多个层次,每个层次都有特定的功能和责任。这样可以提高系统的可扩展性和安全性。
6. 按需代码(Code on Demand):服务器可以向客户端传输可执行代码,以扩展客户端的功能。这种方式在 REST 中并不是必须的,但是它可以提高系统的灵活性和可扩展性。
为什么需要 REST API
REST API是在Web应用程序的发展过程中产生的。在Web应用程序的早期阶段,应用程序之间的通信主要是通过SOAP(Simple Object Access Protocol)和XML-RPC(XML Remote Procedure Call)等协议来实现的。这些协议使用XML格式来传输数据,但它们的设计复杂、繁琐,不易于使用和扩展。
在这种情况下,Roy Fielding在2000年提出了REST(Representational State Transfer)的概念,作为一种新的Web应用程序架构风格。REST使用HTTP协议作为通信协议,使用URI(Uniform Resource Identifier)来标识资源,使用HTTP请求方法(如GET、POST、PUT、DELETE等)来操作资源,并使用HTTP状态码来表示操作结果。REST的设计风格简单、灵活、可扩展,因此在Web应用程序中得到了广泛的应用。
随着Web应用程序的不断发展,REST API已经成为现代Web应用程序的重要组成部分。它可以提高应用程序的互操作性、灵活性和可伸缩性,从而为用户提供更好的体验。
其他
REST API != HTTP
Roy Fielding 在他的论文中没有提到任何实现方式——包括任何协议偏好。到目前为止,凡是满足 REST 原则的都是 RESTful
总结
简而言之,在 REST 架构风格中,数据和功能被视为资源,并使用统一资源标识符 (URI) 进行访问。
通过使用一组简单的、定义良好的操作对资源进行操作。此外,资源必须与其表示形式解耦,以便客户机能够以各种格式访问内容,如 HTML、 XML、纯文本、 PDF、 JPEG、 JSON 等。
客户端和服务端要使用标准化的接口和协议来交换资源,通常是 HTTP,但 REST 并不强制要求它。
并且可以控制缓存、检测传输错误以及身份验证或访问控制等等。最重要的是,与服务器的每次交互都必须是无状态的。所有这些原则都有助于 RESTful 应用程序变得简单、轻量级和快速。
猜你喜欢
- 2024-10-13 gRPC vs REST:两种 API 架构风格的对比
- 2024-10-13 使用GIN,GORM和MySql创建一个Rest API
- 2024-10-13 Elasticsearch应用开发人员应该熟练掌握的REST API
- 2024-10-13 聊聊rest api设计 rest api接口规范
- 2024-10-13 如何为应用设计REST API? 应用设计模式
- 2024-10-13 创建restful风格的API接口很难?明明5分钟就行
- 2024-10-13 WordPress 常用的 REST API接口汇总
- 2024-10-13 一文读懂RESTfulAPI 一文读懂等额本息利率计算,合理规划贷款与还款
- 2024-10-13 前后端程序员都要了解和使用REST API
- 2024-10-13 微软欲停止Outlook REST API身份验证支持,开发者准备好了吗?
你 发表评论:
欢迎- 01-11关于Vmware workstation的网络设置
- 01-11使用VMware Workstation虚拟机安装Windows 10详细教程
- 01-11VMware Workstation 17.5.1 Pro for Windows & Linux - 桌面虚拟化软件
- 01-11VMware? Workstation 17 Pro软件中,如何显示 “我的计算机” 选项卡
- 01-11银河麒麟桌面操作系统安装VMware workstation pro
- 01-11VmwareWorkstation17.6安装windows7x64虚拟机后安装vmtools
- 01-11发布VMware Workstation Pro 17.0稳定版
- 01-11VMware Workstation安装ESXi 7安装篇
- 最近发表
-
- 关于Vmware workstation的网络设置
- 使用VMware Workstation虚拟机安装Windows 10详细教程
- VMware Workstation 17.5.1 Pro for Windows & Linux - 桌面虚拟化软件
- VMware? Workstation 17 Pro软件中,如何显示 “我的计算机” 选项卡
- 银河麒麟桌面操作系统安装VMware workstation pro
- VmwareWorkstation17.6安装windows7x64虚拟机后安装vmtools
- 发布VMware Workstation Pro 17.0稳定版
- VMware Workstation安装ESXi 7安装篇
- 如何安装虚拟机(vmware workstation)
- VMware Workstation之网络配置
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)