资讯事件

API是什么?

浏览次数 : 538
作者 : PURPLELEC
更新时间 : 2025-11-04 17:51:55
  ​是否想过,手机里的聊天软件为何能快速调用相机功能?旅行软件又是如何实时获取航空公司航班信息的?这些日常数字体验的背后,都离不开一种被称为“应用编程接口”的技术——API。
API 是什么
 
  API 是什么
 
  API,即应用程序编程接口,是一组协议,它搭建起不同软件组件之间沟通的桥梁,让它们能够相互通信和传输数据。开发人员借助 API,可以巧妙地弥合小型、独立代码块之间的差距,进而打造出功能强大、稳定可靠且能满足用户需求的应用程序。尽管我们平时难以察觉,但 API 始终在后台默默运行,为现代生活中不可或缺的数字体验提供坚实支撑。
 
  API 的发展历史
 
  要充分理解 API 在生活中的重要角色,了解其演变历程十分关键。API 已经存在数十年,现代 Web API 最早兴起于 21 世纪初,其发展历程大致可分为五个阶段。
 
  一、商业化 API 阶段
 
  21 世纪初,Web API 作为新兴方法崭露头角。它不仅助力新兴创业公司在线提供产品和服务,还帮助合作伙伴和第三方经销商拓展平台覆盖范围。Salesforce、eBay 和亚马逊成为这一 API 时代的引领者,时至今日,它们在 API 领域依旧占据主导地位。
 
  二、社交媒体应用程序接口(API)阶段
 
  2000 年代中期,API 格局发生转变。Flickr、Facebook 和 Twitter 等新兴公司意识到,API 有能力改变信息分享方式。尽管这些 API 的盈利模式与商业化 API 不直接相关,但为各自组织创造了巨大价值。以 Facebook 为例,2006 年 8 月发布的 1.0 版 API,允许开发者访问用户的好友、照片、活动和个人资料信息,在 Facebook 成为全球热门社交网络的过程中发挥了关键作用。
 
  三、云 API 阶段
 
  2006 年,亚马逊推出 Amazon Simple Storage (S3),这成为 API 发展史上的又一重要转折点。S3 作为基础存储服务,用户可通过 API 和 CLI 访问资源,其按需付费模式为企业在线经济中的数字资产变现提供了经济高效的方式。仅六个月后,亚马逊又发布 Amazon Elastic Compute (EC2),让开发人员能够使用 Web API 部署基础设施,为下一代应用程序提供支持。如今,S3 和 EC2 在应用程序开发中仍发挥着至关重要的作用。
 
  四、移动应用程序的 API 阶段
 
  2007 年,苹果公司的 iPhone 和谷歌公司的 Android 手机问世,将网络装进口袋的能力彻底改变了我们的生活方式,也刺激了对由 API 驱动的移动应用程序的大规模投资。例如,Twilio 于 2007 年推出 API 即产品平台,使开发者能够通过任何云应用拨打和接听电话。Instagram 于 2010 年 10 月推出照片分享 iPhone 应用,短短三个月便拥有 100 万用户。虽最初未提供 API,但为响应用户需求,于 2011 年初开始开发。这些“API 优先”的公司为当今 API 交付模式奠定了基础。
 
  五、联网设备 API 阶段
 
  大约在 2010 年,部分开发者开始运用 API 将日常物品,如摄像头、恒温器、扬声器、麦克风和传感器等连接到云端。包括 Fitbit、Nest 和 Alexa 在内的新一代设备能够发送和接收数据、内容、媒体及其他数字资源,进一步改变了我们与周围世界的互动方式。
API 是如何工作的
  API 是如何工作的
 
  API 的工作原理基于应用程序、系统和设备之间的数据共享,通过请求和响应循环来实现。下面简要概述这一过程。
 
  一、API 客户端
 
  API 客户端负责启动交互,通过向 API 服务器发送请求来开启流程。请求的触发方式多样,用户输入搜索词或点击按钮可发起请求,外部事件,如来自其他应用程序的通知,也能触发请求。
 
  二、API 请求
 
  根据 API 类型不同,请求的外观和行为有所差异,但通常包含以下组件。
 
  端点:是用于访问特定资源的专用 URL。例如,博客应用中的 /articles 端点包含处理所有与文章相关请求的逻辑。
 
  方法:指明客户端希望对给定资源执行的操作类型。REST API 可通过标准 HTTP 方法访问,执行检索、创建、更新和删除数据等常见操作。
 
  参数:是传递给 API 端点的变量,为 API 处理请求提供具体指令。参数可包含在 URL 中、查询字符串里或请求正文中。例如,博客 API 的 /articles 端点可能接受“topic”参数,用于访问和返回特定主题的文章。
 
  请求标头:是键值对,提供有关请求的额外详细信息,如内容类型或身份验证凭据。
 
  请求体:是请求的主要部分,包含创建、更新或删除资源所需的实际数据。例如,在博客应用中创建新文章时,请求体可能包含文章的内容、标题和作者。
 
  三、API 服务器
 
  API 客户端向 API 服务器发送请求,服务器负责处理身份验证、验证输入数据以及检索或操作数据。
 
  四、API 响应
 
  最后,API 服务器向客户端发送响应,通常包含以下组件。
 
  •   状态码:是三位数字代码,指示 API 请求的结果。常见状态码有 200 OK(服务器成功返回请求数据)、201 Created(服务器成功创建新资源)和 404 Not Found(服务器找不到请求资源)等。
 
  •   响应标头:与请求标头相似,用于提供有关服务器响应的附加信息。
 
  •   响应正文:包含客户端请求的实际数据或内容,若出现问题则包含错误消息。
 
  为更好地理解这一过程,可将 API 比作餐厅。顾客如同用户,告知服务员自己的需求;服务员类似 API 客户端,接收顾客订单并转化为厨房能理解的指令,有时会使用特定代码或缩写;厨房工作人员如同 API 服务器,根据顾客要求制作餐点并交给服务员;最后服务员将餐点送到顾客手中。
 
  API 有哪些好处
 
  API 允许各种软件系统、应用程序和设备相互通信,将它们连接起来,带来诸多好处,涵盖提升用户体验到提高业务效率等多个方面。
 
  1、自动化
 
  API 可用于自动化执行重复性、耗时的工作,让人们能够专注于更复杂的任务,提高生产力,对开发人员和测试人员而言尤为如此。
 
  2、创新
 
  公共 API 供外部工程团队使用,激发创新并加速开发,使开发人员能够重新利用现有功能创造新的数字体验。
 
  3、安全性
 
  API 通过对访问敏感数据的请求进行身份验证和授权,提供额外保护层,防止未经授权的入侵。
 
  4、成本效益
 
  API 提供对有用的第三方工具和基础设施的访问,帮助企业避免构建复杂内部系统带来的费用。
API 有哪些不同类型
  API 有哪些不同类型
 
  API 的类型和分类方法多样,可根据访问权限进行分类。
 
  私有 API
 
  私有 API,也称内部 API,用于连接同一组织内部的不同软件组件,不对外开放。例如,社交媒体应用程序可能包含处理登录流程、动态消息和用户间交流的私有 API,有些应用程序甚至可能有数十个或数百个私有 API。
 
  公共 API
 
  公共 API 向公众开放对组织的数据、功能或服务的访问权限,第三方开发者可将其集成到自己的应用程序中。部分公共 API 免费,部分需付费。例如,电子商务应用程序可集成 Stripe 等公共支付 API 处理支付,无需从头构建该功能。
 
  合作伙伴 API
 
  合作伙伴 API 使两家或多家公司能够共享数据或功能,开展项目合作。这些 API 不对公众开放,采用身份验证机制,确保只有授权合作伙伴才能使用。
  最常见的 API 架构风格有哪些
 
  还可根据架构风格对 API 进行分类,常用的架构风格如下。
 
  REST
 
  REST 是目前最流行的互联网数据传输 API 架构。在 RESTful 架构中,资源可通过端点访问,并使用标准 HTTP 方法(如 GET、POST、PUT 和 DELETE)对资源执行操作。
 
  SOAP
 
  SOAP,即简单对象访问协议,使用 XML 在客户端和服务器之间传输高度结构化的消息。SOAP 常用于企业环境或遗留系统中,虽包含高级安全功能,但与其他 API 架构相比速度可能较慢。
 
  GraphQL
 
  GraphQL 是一种开源查询语言,允许客户端通过与单个 API 端点交互检索所需的确切数据,无需将多个请求串联起来。这种方法减少客户端和服务器之间的往返次数,对网络连接速度慢或不稳定的应用程序非常有用。
 
  Webhooks
 
  Webhook 用于实现事件驱动架构,请求根据事件触发自动发送。例如,应用程序中发生特定事件(如支付)时,应用程序可向预先配置的 Webhook URL 发送 HTTP 请求,并在请求负载中包含相关事件数据。接收到 Webhook 的系统随后处理该事件并采取相应操作。
 
  gRPC
 
  RPC 代表远程过程调用,gRPC API 由 Google 开发。在 gRPC 架构中,客户端可像调用本地对象一样调用服务器,使分布式应用程序和系统之间的通信更加便捷。
API 的常见应用场景有哪些
  API 的常见应用场景有哪些
 
  API 功能强大,支持多种应用场景。
 
  与内部和外部系统集成
 
  开发者使用 API 的常见原因之一是将一个系统与另一个系统集成。例如,将客户关系管理 (CRM) 系统与营销自动化系统集成,销售代表将新潜在客户添加到 CRM 时,系统可自动发送营销邮件。
 
  增加或增强功能
 
  API 可让应用程序集成额外功能,改善用户体验。例如,开发外卖应用时,可集成第三方地图 API,让用户追踪订单配送情况。
 
  连接物联网设备
 
  API 对物联网 (IoT) 生态系统至关重要,涵盖智能手表、健身追踪器、门铃和家用电器等设备。没有 API,这些设备无法连接到云端,也无法彼此连接,将失去作用。
 
  创建更具可扩展性的系统
 
  API 用于实现基于微服务的架构,应用程序由一系列小型服务组成,这些服务通过私有 API 相互通信。微服务彼此独立管理、部署和配置,使团队能够可靠且经济高效地扩展系统。
 
  降低成本
 
  API 通过自动化执行耗时任务(如发送电子邮件、生成报告和在系统间共享数据),帮助企业降低运营成本。还能让团队重用现有功能,降低开发成本。
 
  提升组织安全和治理水平
 
  API 为许多对组织安全至关重要的工作流程提供支持。例如,单点登录 (SSO) 允许用户使用一个用户名和密码访问多个系统,API 是实现这一功能的基石。此外,API 还用于强制执行和自动化公司治理规则和策略,如要求员工报销前必须获得费用批准。
 
  API 在现实世界中有哪些应用案例
 
  若想寻找 API 的实际应用示例,可从公共 API 目录入手,如 Postman 的公共 API 网络 (Public API Network)。该网络拥有超过 4000 万开发者,是一个可搜索且组织有序的 API 库,方便查找合适的 API。可利用网络搜索功能查找特定 API,也可按类别浏览获取灵感。以下是一些在公共 API 网络上发布优秀 API 示例的公司。
 
  Salesforce
 
  Salesforce 是基于云的客户关系管理 (CRM) 软件,帮助客户查找和联系潜在客户、达成交易并大规模提供服务。Salesforce 公共工作区包含丰富的 API 资源,供 Salesforce 云平台和产品中的开发人员使用。
 
  Notion
 
  Notion 是笔记应用,提供用于思考、写作和计划的统一空间。Notion 团队发布了一套简明易懂的教程,帮助开发者快速上手 Notion API,提供最新且实用的解决方案,方便连接和自动化 Notion 中的各项任务。
 
  Discord
 
  Discord 是社交平台,支持语音、视频和文字消息交流,以及媒体和文件共享。Discord 团队发布资源包,帮助开发者构建 Discord 应用,自定义 Discord 服务器,还提供入门指南。
 
  Pinterest
 
  Pinterest 让用户能够分享图片、彼此联系并获得灵感。Pinterest API 极大地扩展了网站或应用程序开发者的功能范围,还发布入门指南。
 
  DoorDash
 
  DoorDash 是食品订购和配送平台,DoorDash Drive 可利用 DoorDash 的按需物流平台和配送员队伍,快速便捷地配送商品。DoorDash 团队发布一系列资源,方便轻松上手 DoorDash API。
 
  关于 API 的其他常见问题
 
  谁在使用 API
 
  虽然开发人员最有可能在工作中接触 API,但 Postman 的 API 现状报告发现,许多非开发人员,如产品经理、业务分析师和客户支持专业人员,也会使用 API。
 
  哪些行业使用 API
 
  API 在科技行业应用广泛,是应用程序和其他数字服务的主要构建模块。金融机构依赖 API 促进客户交易,医疗服务提供商使用 API 管理患者数据并确保其安全。
 
  什么是 API 优先策略
 
  API 优先策略是一种软件开发方法,将应用程序设计和构建为一系列通过 API 交付的内部和外部服务的集合。API 是这些应用程序的构建模块,该策略有助于团队优先考虑 API 的质量、安全性和性能。
 
  有哪些工具可以帮助你构建和集成 API
 
  API 开发是迭代式协作过程,利用合适工具确保流程顺利进行至关重要。团队应使用 GitHub 或 BitBucket 等源代码控制管理工具跟踪 API 变更,Jenkins 或 CircleCI 等 CI/CD 流水线自动化 API 测试和部署流程。此外,团队还需使用能与这些工具集成的 API 平台,减少摩擦并增强现有工作流程。
 
  如何构建 API
 
  API 开发流程因 API 的用途、语言和范围而异。每个新的 API 都需要进行设计,使用 API 开发框架实现,并经过全面测试,确保按预期运行。
 
  什么是 API 管理
 
  API 管理是指建立高效、标准化的 API 操作流程。重视 API 管理的组织通常会利用 Postman 等 API 平台,帮助大规模设计、开发、测试、保护、部署和监控 API。这有助于减少重复工作,提高协作效率,增强 API 相关项目的透明度,促进组织内部协同合作。
 
  SOAP API 和 REST API 有什么区别
 
  SOAP(简单对象访问协议)和 REST(表述性状态转移)是构建 API 的两种常见架构风格。SOAP API 使用 XML,内置安全性和错误处理功能,适合具有严格标准的企业环境。REST API 使用 JSON 进行资源表示,JSON 比 XML 更简洁,通常比 SOAP API 更容易理解、使用和集成,但缺少 SOAP 的一些高级功能。
 
  API 和 Webhook 有什么区别
 
  Webhook 是轻量级回调函数,促进 API 之间的事件驱动型通信。传统请求 - 响应周期中,API 客户端主动向 API 服务器发送请求检索数据或执行操作。相比之下,Webhook 监听特定事件(如创建新用户帐户或完成支付),并执行预先配置的操作作为响应,无需 API 客户端轮询服务器,服务器在指定事件发生时自动执行相应操作或返回相关数据。
 
  面向服务的架构(SOA)和微服务架构有什么区别
 
  面向服务的架构 (SOA) 和微服务架构都由执行特定业务功能的模块化服务组成,但存在关键区别。微服务之间通过 API 通信,SOA 服务依赖企业服务总线 (ESB) 进行消息路由、转换和管理。SOA 服务通常使用 SOAP 协议,微服务倾向于使用 REST 等轻量级协议。SOA 服务的粒度比微服务低,且它们之间可能存在依赖关系。