什么是RESTful API

这篇具有很好参考价值的文章主要介绍了什么是RESTful API。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是RESTful API

RESTful API是利用HTTP请求访问或使用数据的应用程序接口(API)的体系结构样式。这些数据可用于GET,PUT,POST和DELETE数据类型,这些数据类型指的是与资源相关的操作读取、更新、创建和删除。

网站的API是允许两个软件程序相互通信的代码。API详细说明了开发人员编写从操作系统或其他应用程序请求服务程序的正确方法。

RESTful API(也称为RESTful Web服务或REST API)基于表示性状态转移(REST),它是Web服务开发中经常使用的一种体系结构样式和通信方式。

REST技术通常优于其他类似技术。这是因为REST使用较少的带宽,使其更适合高效的互联网使用。RESTful API也可以用JavaScript或Python之类的编程语言来构建。

浏览器使用的REST可以被视为互联网语言。随着云使用量的兴起,云消费者正在使用API公开和组织对Web服务的访问。REST是构建API的逻辑选择,它允许用户在分布式环境中灵活地连接、管理和交互云服务。

RESTful API如何工作

RESTful API使用分解事务来创建一系列小模块。每个模块处理事务的一个底层部分。这种模块化为开发人员提供了很大的灵活性,但是对于开发人员来说,从头开始设计REST API是一个挑战。
目前,有几家公司提供了供开发人员使用的工具,例如本文演示工具EOLINKER:www.eolinker.com。
RESTful API使用命令来获取资源。资源在任何给定时间戳下的状态称为表示资源(resource representation)。RESTful API使用RFC 2616协议定义的现有HTTP方法,例如:

GET检索资源;
PUT更改状态或更新资源的状态,该资源可以是对象,文件或块;
POST创建该资源;
DELETE删除资源。
使用REST,网络化组件是用户请求访问的资源,所有调用都是无状态的;RESTful服务在执行之间不能保留任何内容。

REST API支持的数据格式包括:
application/ json
application/ xml
application/ x-www-form-urlencoded
multipart/form-data

用途

由于调用是无状态的,因此REST在云应用程序中很有用。如果出现故障,无状态组件可以自由地重新部署,它们可以扩展适应负载变化。因为任何请求都可以定向到组件的任何实例,下一个事务不必记住任何保存的内容。这使得REST更适合用于Web。RESTful模型在云服务中也很有用,因为通过API绑定到服务是控制URL解码方式的问题。

RESTful API设计和架构约束

RESTful API设计由Roy Fielding在2000年的博士学位论文中定义。为了成为真正的RESTful API,Web服务必须遵守以下六个REST体系结构约束:

使用统一接口(UI)。资源应该通过单个URL进行唯一标识,并且只有通过使用网络协议的底层方法(例如带HTTP的DELETE,PUT和GET),才能对资源进行操作。

基于客户端服务器。客户端和服务器之间应该要清晰划分。UI和请求收集问题是客户端的领域。数据访问、工作负载管理和安全性是服务器的领域。客户端和服务器的这种松散耦合使得彼此之间可以独立开发。

无状态操作。所有客户端-服务器操作都应该是无状态的,并且所需的任何状态管理都应该在客户端进行而不是服务器上。

RESTful资源缓存。除非明确指出不可能进行缓存,否则所有资源都应允许缓存。

分层系统。REST支持由多层服务器组成的体系结构。

按需编码。大多数时候,服务器会以XML或JSON的形式发送回资源的静态表示。但是,必要时服务器可以向客户端发送可执行代码。

常见的REST API挑战

除了设计和体系结构的约束外,个人还必须面对REST API的一些挑战。可能具有挑战性的一些概念可能包括:

端点一致性。

API版本控制。

响应时间长,数据太多。

安全性。需要注意很多方面,包括使用以下方面:
HTTPS;
阻止来自未知IP地址和域的访问;
验证URL;
阻止意外的大有效载荷;
记录请求;
检查故障。

身份验证。使用常见的身份验证方法,例如HTTP基本身份验证(允许使用base64编码的用户名:密码字符串),API密钥,JSON Web Token和其他访问令牌。例如,OAuth 2.0适用于访问控制。

API测试。测试过程中可能具有挑战性的部分包括:
初始设置
架构更新
测试参数组合
序列API调用
验证测试参数
系统集成

定义错误代码和消息。
对于错误代码,使用标准HTTP错误代码是更常见的做法。错误处理除了解析正文或检查错误外,可能没有其他方法来区分响应是否成功。

随着时间推移的,开发人员开始使用RESTful API,并使用它们为网站和应用程序添加功能。如今,REST API被认为是“互联网的骨干”。文章来源地址https://www.toymoban.com/news/detail-604614.html

到了这里,关于什么是RESTful API的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 区块链行业名词解释大全

    区块链(Blockchain):是一种去中心化的账本,所有交易都被记录在区块中,这些区块按顺序连接在一起,形成一个不可篡改的链条。 加密货币(Cryptocurrency):是一种数字资产,使用加密技术来保护其安全性和匿名性。比特币和以太坊是最著名的加密货币。 智能合约(Smart Co

    2024年02月08日
    浏览(55)
  • 区块链基本概念和名词解释

    区块链基本概念和名词解释 P2P 共识算法 梅克尔-帕特里夏树 从零开始搭建区块链 至今(2022)从业已经10年了,作为一个IT老鸟,见证了移动互联时代的崛起,甚至参与其中充当一颗光荣的螺丝钉。其间各种各样的所谓新技术、新框架、新工具层出不穷,有的昙花一现,有的

    2024年01月17日
    浏览(63)
  • 智能小程序相关名词解释(汇总)

    小程序 ID 小程序 ID 是智能小程序分配给开发者的应用 ID,是应用的唯一标示,只有应用创建后才可以获取。创建小程序应用后,您可获得小程序应用的小程序 ID。 小程序框架 小程序提供一套简单高效的开发框架,帮助您开发具有原生 App 体验的服务。 整个小程序框架系统分

    2024年01月18日
    浏览(50)
  • 常见通信名词的解释

    在通信接口的介绍中,难免见到全双工/半双工/单工、同步/异步等这些名词。今天就专门来介绍一下这些名词。 数据通信中,数据在线路上的传送方式可以分为单工通信、半双工通信和全双工通信三种。 单工通信:是指消息只能单方向传输的工作方式。例如遥控、遥测(某

    2024年02月06日
    浏览(52)
  • 计算机视觉——期末复习(填空、名词解释)

    图像文件: 指包含图像数据的文件,文件内除图像数据本身以外,还有对图像的描述信息等 距离变换: 特殊的变换,把二值图像变换为灰度图像 距离图: 如果考虑目标区域中的每个点与最接近的区域外的点之间的距离, 并用与距离成正比的灰度表示该点的灰度,那么这样

    2024年02月11日
    浏览(47)
  • EDA、PLD、FPGA等名词解释

    加*为常考: *EDA:(electronic design automation)电子设计自动化 *HDL:(hard description language)硬件描述语言 ASIC:(application specific intergrated circuit)专用集成电路 *FPGA:(field programmable gate array)现场可编程逻辑门阵列 *PLD:(programmable logic device)可,编程逻辑器件  *CPLD:(complex pr

    2024年02月06日
    浏览(62)
  • 电气电工相关专业知识及名词解释

    一、电流电压 火线、零线、地线 :火线和零线的区别就是:火线带电,零线不带电。火线是传电流的,而零线是回流的。 红色是火线,零线一般是绿色的,通常可用电笔来测。电笔一头亮了是火线,不亮的则是零线。也可用电压表来测,火线之间的电压是220V,而零线是没有

    2024年02月02日
    浏览(45)
  • 50个渗透(黑客)常用名词及解释

    目录 前言 一.渗透测试 二.网络安全 三.安全攻击 四.黑客工具 五.渗透方法 六.网络钓鱼 七.攻击技术 八.其他名词 总结 🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。 💡本文由Filotimo__✍️原创,首发于CSDN📚。 📣如需转载,请事先与我联系以

    2024年02月06日
    浏览(49)
  • 50个渗透(黑客)常用名词及解释

    目录 前言 一.渗透测试 二.网络安全 三.安全攻击 四.黑客工具 五.渗透方法 六.网络钓鱼 七.攻击技术 八.其他名词 总结 🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。 💡本文由Filotimo__✍️原创,首发于CSDN📚。 📣如需转载,请事先与我联系以

    2024年02月09日
    浏览(49)
  • 解释 RESTful API,以及如何使用它构建 web 应用程序

             RESTful API stands for Representational State Transfer Application Programming Interface. It is a set of principles and guidelines for building web services that provide data in a standard format, typically JSON or XML. RESTful API emphasizes on uniformity, scalability, reliability, performance, and flexibility. It operates on HTTP and follo

    2024年02月14日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包