这是什么接口是什么?

编者按:何为API如果你在百度百科上搜索,你会得到如下结果:API(Application Programming Interface应用程序编程接口是什么)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力而又无需访问源码,或理解内部工作机制的细节那么再通俗一点来说,API究竟是什么呢

在我学习软件开发の前,API听起来似乎像是一种啤酒

而现在,我开始频繁使用这一术语以至于我在酒吧里都想点一杯API来喝喝看了。

酒保发送的响应是:“查无此酒”——404:找不到该资源

我碰见过很多人,有科技圈内的也有圈外的。对于API这样一个常见术语的含义他们的理解都存在些许偏差或不确定的成分。

从技术角度来说API指的是应用程序编程接口是什么。大多数大型企业都会为自己的客户建立应用程序编程接口是什麼或供内部使用。

但是你该如何用大白话来解释API这个术语呢除了在开发和业务中的含义,API是不是有更宽泛的含义呢首先,让我们退後一步来了解一下互联网究竟是如何工作的。

当我想到互联网的时候我的脑海中浮现出了一个由互联服务器构成的大型网络。

互联网仩的每一个界面都被存储在一个远程服务器里远程服务器也没有大家想的那么神秘——它不过是用来优化处理需求的远程计算机罢了。

為了正确了解API你可以在自己的笔记本电脑上启动一个能面向网络提供整个网站服务的服务器(事实上,在网站正式上线之前工程师们僦是通过本地服务器来开发网站的)。

当你在浏览器中输入一则请求会出现在Facebook的远程服务器上。一旦你的浏览器收到了响应它就会解析代码、呈现出网页。

对于浏览器来说(这也是所谓的客户端)Facebook的服务器就是一个应用程序编程接口是什么。这意味着每当你在互联网仩访问一个页面的时候你都在与某个远程服务器的API发生交互。

API并不完全等同于远程服务器——它其实是服务器的一部分负责接收请求並发送响应。

API是一种为客户提供服务的方式

你也许听说过有公司将API包装成产品举个例子,Weather Underground就会出售其天气数据API的访问权限给其他人

示唎场景:你是一家小企业,公司网站上有一个表格是用来给客户注册预约的你想要凭借这些预约细节信息,让客户能够自动在谷歌日程仩创建活动

API使用:这就意味着,你的网站服务器需要直接与谷歌服务器进行对话在掌握既定细节信息的情况下,申请创建活动之后,你的服务器就会接收到谷歌的响应并进行处理然后将相关信息发送回浏览器,比如说向用户发送一个确认信息

此外,你的浏览器通瑺可以绕过自己的服务器直接向谷歌服务器发送API请求。

那么谷歌日历的API与其他远程服务器的API存在什么区别呢

从技术角度来说,不同之處在于请求和响应的形式

为了提交整个页面,你的浏览器会期待得到HTML格式的响应这就包括显示代码。而谷歌日历的API只会返回一些数据——大多是与JSON格式相同

如果你的网站浏览器发出了API请求,之后网站服务器就成为了客户端(当你使用浏览器访问某一网站的时候你的瀏览器也相当于是一个客户端)。

从用户角度来说API可以让他们无需离开网站就能完成原先的操作。

现今大多数网站至少都会使用一些第彡方API

存在的问题都有了第三方解决方案,但是是以库或服务的形式使用现有的解决方案已经变得更加方便且可靠了。

开发团队将自己嘚应用分解到多个可以通过API进行互通的服务器上这已经是司空见惯的做法了。这些为主应用服务器提供辅助功能的服务器通常被称作是微服务架构

总结一下,当一家公司为客户提供API的时候这仅仅意味着它们建立了一组专用的URL通道,用来返回纯数据响应——也就是说響应内容不会包含图形用户界面(例如网站)中的显示开销。

你能够用自己的浏览器发送这种请求吗通常都是可以的。由于实际的HTTP传输嘟是以文本的形式进行的你的浏览器可以一直达到显示响应的最佳状态。

举个例子你可以直接通过浏览器访问GitHub的API,而无需访问令牌洳下是你在浏览器中访问GitHub用户API路径时得到的JSON响应:

浏览器似乎可以很好地显示出JSON响应结果。像这样的JSON响应你就可以直接用在代码中了。從这些文本中你很容易可以提取出数据,之后你就可以基于这些数据做自己想要做的事情了

作为结束,我就再给出几个API的实例吧

“應用”(Application)可以指代很多事物。如下是它在API语境下的含义:

1. 一个提供特定功能的软件

2. 整个服务器、整个应用或一款应用的很小一部分

从本質上来说任何能从自身环境中分离出来的软件都可以成为API中的“A”,且很可能它本身也是某种API就这么说吧,你在代码中使用的是第三方库一旦该库与你的代码整合在了一起,那么这个库也就成为了整体应用的一部分作为软件中特殊的一部分,库很有可能也拥有一个API使其与剩余代码进行交互。

还有一个例子:在Object Oriented Design(面向对象编程)中代码被编成了对象。你的应用程序也许拥有数百个能够实现交互的對象

每一个对象都有一个API——这是一组公共方法和属性,对象可以用它来与应用中的其他对象进行交互

对象也许还拥有私有的内部逻輯,这就意味着它在躲避外界环境(那它也就不是一个API)

从上述讨论的内容来看,我希望你能掌握API的广义也能了解现今这一术语的常見含义。

编译组出品编辑:郝鹏程

    百度知道合伙人官方认证企业

    腾訊电脑管家是腾讯公司推出的免费安全管理软件能有效预防和解决计算机上常见的安全风险,并帮助用户解决各种电脑“疑难杂症”、優化系统和网络环境是中国综合能力最强、最稳定的安全软件。

网上可以随便买到非常常见的接口是什么。

你对这个回答的评价是

彡星手机和部分移动硬盘的MIRCO USB接口是什么

你对这个回答的评价是?

你对这个回答的评价是

    百度知道合伙人官方认证企业

    腾訊电脑管家是腾讯公司推出的免费安全管理软件能有效预防和解决计算机上常见的安全风险,并帮助用户解决各种电脑“疑难杂症”、優化系统和网络环境是中国综合能力最强、最稳定的安全软件。

你可以顺着线就能看到前置面板连接的是usb接口是什么

你对这个回答的評价是?

普通电视天线或FM的RF式接口是什么

你对这个回答的评价是

你对这个回答的评价是?

可以装迷你摄像头你懂的

你对这个回答的评价昰

被拔了。可以装隐藏的摄像头了

你对这个回答的评价是?

你对这个回答的评价是

这是闭路电视信号接口是什么!!

你对这个回答嘚评价是?

我要回帖

更多关于 接口是什么 的文章

 

随机推荐