前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >API简介(一)

API简介(一)

作者头像
知行软件EDI
修改2020-11-18 10:52:34
9620
修改2020-11-18 10:52:34
举报

API(应用程序编程接口)是一个计算接口,限定了多个软件中介之间的相互作用。定义了可以进行的调用或请求的类型,如何进行调用,应使用的数据格式,遵循的约定等。具备扩展机制,以便用户可以通过各种方式不同程度扩展现有功能。API可以完全针对组件定制,也可以基于行业标准进行设计以确保操作的互通性。通过信息隐藏,API支持模块化编程,允许用户独立使用界面。

使用API的目的

在构建应用程序时,API通过抽象化底层实现以及仅公开开发人员需要的对象或函数来简化编程步骤。电子邮件客户端的图形界面可能会为用户提供执行提取和突出显示新电子邮件所有步骤的按钮,而用于文件输入/输出的API会为开发人员提供将文件从一个位置复制到另一个位置的功能,而无需要求开发人员了解幕后发生的文件系统操作。

设计

API的设计对其使用有重大影响。信息隐藏的原理描述了编程接口的作用,即通过隐藏模块的实现细节来启用模块化编程,从而使模块用户无需了解模块内部的复杂性。

发行政策

API是常见的集成方式之一,发布API的主要策略包含:

私有:该API仅供内部公司使用。

合作伙伴:只有特定的业务合作伙伴可以使用API。例如,Uber和Lyft等租用公司的车辆允许经过批准的第三方开发人员直接在其应用程序内订购游乐设施。这使公司可以通过选择哪些应用程序可以访问API来进行质量控制,并为其提供额外的收入来源。

公开:该API供公众使用。例如,Microsoft公开了Microsoft Windows API,Apple发行了API Carbon和Cocoa API ,以便可以为其平台编写软件。通常,并非所有人都能访问所有公共API。例如,Cloudflare或Voxility之类的Internet服务提供商使用RESTful API,以允许客户和经销商访问其基础结构信息,DDoS统计信息,网络性能或仪表板控件。可以通过“ API令牌”或客户身份验证来授予对此类API的访问权限。

公共API的含义

API公开时的重要因素是其“接口稳定性”。对API的更改(例如,向函数调用中添加新参数)可能会破坏与依赖该API的客户端的兼容性。

当公开展示的API的某些部分可能发生更改且因此不稳定时,应将特定API的这些部分明确记录为“不稳定”。例如,在Google Guava库中,被视为不稳定的部分并且可能很快更改的部分将用Java注释标记@Beta。

公共API有时可以声明其自身的某些部分已弃用或废除。这通常意味着应将API的一部分视为要删除或以向后不兼容的方式进行修改的候选对象。因此,这些更改使开发人员可以脱离未来将被删除或不再受支持的API的某些部分。

客户端代码可能包含API设计人员不打算使用的创新用法或机会用法。换句话说,对于具有大量用户基础的库,当元素成为公共API的一部分时,可以多种方式使用它。2020年2月19日,Akamai发布了年度“互联网状况”报告,展示了针对全球金融服务中针对公共API平台的网络犯罪分子的增长趋势。从2017年12月到2019年11月,Akamai见证了854.2亿次凭证违规攻击。约20%(即165.5亿)与定义为API端点的主机名相对。其中,4.735亿针对金融服务部门组织。

更多EDI技术交流,欢迎私信或评论!

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Serverless HTTP 服务
Serverless HTTP 服务基于腾讯云 API 网关 和 Web Cloud Function(以下简称“Web Function”)建站云函数(云函数的一种类型)的产品能力,可以支持各种类型的 HTTP 服务开发,实现了 Serverless 与 Web 服务最优雅的结合。用户可以快速构建 Web 原生框架,把本地的 Express、Koa、Nextjs、Nuxtjs 等框架项目快速迁移到云端,同时也支持 Wordpress、Discuz Q 等现有应用模版一键快速创建。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档