编者按:什么是API?如果在百度百科上搜索,会得到以下结果:API(应用编程接口)是一些预定义的函数,其目的是为应用和开发者提供基于某个软件或硬件访问一组例程的能力,而不需要访问源代码或了解内部工作机制的细节 。那么,用一种更通俗的说法,API到底是什么?
在我学习软件开发之前,API听起来就像啤酒 。
现在,我开始如此频繁地使用这个术语,以至于我想在酒吧里订购一个API 。
调酒师发来的回应是:“没有找到这样的酒”——404:找不到资源 。
我见过很多人,科技圈内外都有 。他们对API这样一个常用术语的含义的理解存在一些偏差或不确定性 。
从技术角度来说,API指的是应用程序编程接口 。大多数大型企业为他们的客户建立应用程序编程接口,或者在内部使用 。
但是如何用白话解释API这个术语呢?除了开发和业务中的含义,API还有更广泛的含义吗?首先,让我们退一步,了解一下互联网实际上是如何运作的 。
WWW和远程服务器 。当我想到互联网时,一个由互连的服务器组成的大型网络浮现在我的脑海中 。
互联网上的每个接口都存储在远程服务器上 。远程服务器并没有大家想象的那么神秘——它只是一台用来优化处理需求的远程计算机 。
为了正确理解API,可以在笔记本电脑上启动一个可以为网络提供全网站服务的服务器(其实在网站正式上线之前,工程师是通过本地服务器开发网站的) 。
当你在浏览器中输入www.facebook.com,一个请求就会出现在脸书的远程服务器上 。一旦您的浏览器收到响应,它将解析代码并显示网页 。
对于浏览器(也称为客户端),脸书的服务器是一个应用程序编程接口 。这意味着无论你何时访问互联网上的一个页面,你都是在与一个远程服务器的API进行交互 。
API并不完全等同于远程服务器——它实际上是服务器的一部分,负责接收请求和发送响应 。
API是向客户提供服务的一种方式 。你可能听说过有些公司把API打包成产品 。例如,Weather Underground将向其他人出售其天气数据API 。
示例:您是一家小型企业,公司网站上有一个用于注册客户预约的表单 。您希望使用这些预订详细信息使客户能够在Google日历上自动创建活动 。
API用法:这意味着你的网站服务器需要和Google服务器进行直接对话,用既定的细节申请创建一个活动 。之后,你的服务器会收到Google的响应并进行处理,然后将相关信息发送回浏览器,比如给用户的确认消息 。
此外,您的浏览器通常可以绕过自己的服务器,直接向Google服务器发送API请求 。
那么Google日历的API和其他远程服务器的API有什么区别呢?
从技术角度来看,区别在于请求和响应的形式 。
为了提交整个页面,您的浏览器将期待HTML格式的响应,其中包括显示代码 。而Google Calendar的API只会返回一些数据——大部分是和JSON一样的格式 。
如果你的网站浏览器发出API请求,那么网站服务器就变成了客户端(当你使用浏览器访问网站时,你的浏览器也相当于客户端) 。
从用户的角度来说,API让他们不用离开网站就可以完成原来的操作 。
当今大多数网站至少使用一些第三方API 。
所有现存的问题都有第三方的解决方案,但都是以库或服务的形式 。现有解决方案的使用变得更加方便和可靠 。
开发团队的常见做法是将他们的应用程序分成多个服务器,这些服务器可以通过API相互通信 。这些向主应用服务器提供辅助功能的服务器通常被称为微服务架构 。
综上所述,当一个公司向客户提供API时,只意味着他们建立了一套专用的URL通道来返回纯数据响应——也就是说,响应内容不会包含图形用户界面(如网站)中的显示开销 。
你能用你自己的浏览器发送这个请求吗?一般还好 。由于实际的HTTP传输是以文本的形式进行的,所以您的浏览器总能达到显示响应的最佳状态 。
比如可以直接通过浏览器访问GitHub的API,不需要访问令牌 。以下是您在浏览器中访问GitHub用户API路径时得到的JSON响应(https://api.github.com/users/petrgazarov):
浏览器似乎可以很好地显示JSON响应结果 。像这样的JSON响应,可以直接在代码中使用 。从这些文本中,你可以很容易地提取数据,然后你可以根据这些数据做你想做的事情 。
a指“应用”最后,我将给出几个API的例子 。
“应用”可以指很多东西 。以下是它在API上下文中的含义:
API:
1.提供特定功能的软件
2.整个服务器、整个应用程序或应用程序的一小部分
本质上,任何可以脱离自身环境的软件都可以成为API中的“A”,很可能它本身就是某种API 。假设您在代码中使用了第三方库 。一旦该库与您的代码集成,该库就成为整个应用程序的一部分 。作为软件的一个特殊部分,库可能有一个API来与代码的其余部分进行交互 。
另一个例子:在面向对象的设计中,代码被编译成对象 。您的应用程序可能有数百个交互式对象 。
每个对象都有一个API——这是一组公共方法和属性,对象可以用它们与应用程序中的其他对象进行交互 。
可能对象也有私有的内部逻辑,也就是说它在躲避外部环境(那就不是API了) 。
通过上面的讨论,希望你能掌握API的广义,理解这个术语在今天的普遍意义 。
【免费数据接口api api接口是什么意思】编译和制作 。编辑:郝鹏程
推荐阅读
- 西洋参粉怎么吃效果最好
- 质量好价格低的膜结构,十大品牌的商业街膜结构
- 笔落惊风雨诗成泣鬼神的诗人是李白吗? 笔落惊风雨诗成泣鬼神
- 宁夏吴忠电焊机 黄河电焊机价格及图片
- 冲牙器饭后多久用合适
- 什么人不能吃山竹
- 怎么判断山竹果肉坏了
- 先用隔离还是先用防晒
- 为什么前天做的核酸报告还没出来?