此篇文章发布距今已超过129天,您需要注意文章的内容或图片是否可用!
应用程序编程接口(API)无处不在。打开智能手机或平板电脑,查看已安装的应用程序。几乎无一例外,这些应用程序都会与一个或多个远程API 进行通信,以下载新内容和消息、轮询通知、上传新内容并代表执行操作。使用浏览器中打开的开发人员工具加载您最喜欢的网页,可能会看到后台发生数十个API调用,以呈现针对个人进行深度定制的页面(无论是否喜欢)。在服务器上,这些API调用本身可能会被实现许多微服务通过内部API相互通信。甚至家中的日常用品也越来越多地与云中的API进行通信——从智能手机到智能扬声器到冰箱、电表和灯泡。物联网(IoT)正在迅速成为这在消费者和工业环境中都已成为现实,由云中和设备本身不断增长的API提供支持。虽然API的传播正在推动应用程序变得更加复杂,从而增强我们自身的能力,但它们也带来了更大的风险。随着在工作和娱乐中的关键任务越来越依赖API,如果它们受到攻击,我们就会变得更容易受到攻击。使用的 API越多,受到攻击的可能性就越大。API对开发人员有吸引力的特性——易用性——也使它们成为恶意行为者的容易攻击的目标。与此同时,新的隐私和数据保护立法,例如欧盟的GDPR,对公司保护用户数据提出了法律要求,如果发现数据保护不充分,将受到严厉处罚。什么是API?
传统上,API由软件库提供,可以在运行时静态或动态地链接到应用程序,从而允许针对特定问题重用过程和函数,例如用于3D图形的OpenGL或用于TCP/IP网络的库。此类API仍然很常见,但现在越来越多的API作为RESTful Web服务通过互联网提供。从广义上讲,API是软件系统的一个部分与另一部分之间的边界。它定义了一组操作,一个组件提供给系统的其他部分(或其他系统)使用。例如,摄影档案可能提供API来列出照片相册、查看单张照片、添加评论等。然后,在线图像库可以使用该API来显示有趣的照片,而文字处理应用程序可以使用相同的API来允许将图像嵌入到文档中。如图1所示,API代表用户处理来自一个或多个客户端的请求。客户端可以是具有用户界面(UI)的Web或移动应用程序,也可以是没有显式UI的另一个API。API本身可以与其他API通信来完成其工作。图 1 API代表用户处理来自客户端的请求。
客户端可能是网络浏览器、移动应用程序、物联网设备或其他API。API根据其内部逻辑服务请求,然后在某个时刻向客户端返回响应。API的实现可能需要与数据库或处理系统提供的其他“后端”API进行通信。UI还为软件系统提供了边界并限制了可以执行的操作。API与UI的区别在于,API明确设计为易于与其他软件交互,而UI设计为易于用户直接交互。尽管UI可能以丰富的形式呈现信息,使信息易于阅读且易于交互,但API 通常会以易于程序使用的形式呈现原始数据的高度规则且精简的视图来解析和操作。 推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
https://ZhouSa.com
还没有评论,来说两句吧...