REST 是 REpresentational State Transfer 的缩写,是分布式超媒体系统的架构风格。Roy Fielding 于 2000 年在他的著名论文中首次提出了这一点。从那时起,它已成为构建基于 Web 的 API(应用程序编程接口)的最广泛使用的方法之一。 REST 不是一种协议或标准,而是一种架构风格。在开发阶段,API 开发人员可以通过多种方式实现 REST。符合REST架构风格的Web API(或Web Service)称为 REST API(或RESTful API)。
REST(Representational State Transfer)是一种基于网络的软件架构风格,它的设计原则包括以下六个方面:
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 应用程序变得简单、轻量级和快速。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有