简称API(ApplicaTIon Programming Interface),就是软件系统不同组成部分衔接的约定。
在数据封装时,网络分层中的每个层相互之间会用接口进行交互并提供服务,其中应用层与用户之间的接口称之为应用程序接口。API实际上是一种功能集合,也可说是定义、协议的集合,无论是那种集合,它的实质都是通过抽象为用户屏蔽实现上的细节和复杂性。
从用户角度看应用程序接口,表现为一系列API函数,用户可以使用这些函数进行网络应用程序开发。从网络角度看,应用程序接口给用户提供了一组方法,用户可以使用这组方法向应用层发送业务请求、信息和数据,网络中的各层则依次响应,最终完成网络数据传输。
API的作用:
1.远程过程调用(RPC):通过作用在共享数据缓存器上的过程(或任务)实现程序间的通信。
2.标准查询语言(SQL):是标准的访问数据的查询语言,通过通用数据库实现应用程序间的数据共享。
3.文件传输:文件传输通过发送格式化文件实现应用程序间数据共享。
4.信息交付:指松耦合或紧耦合应用程序间的小型格式化信息,通过程序间的直接通信实现数据共享。
原理:API是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
常见应用程序接口应用层的应用程序接口有很多,并且发展很快,比较常见的如socket、FTP、HTTP以及telnet。这些接口从大类上可分为四类:
远程过程调用(RPC,Remote Procedure Call Protocol)
数据查询接口
文件类接口
数据通信接口
例如FTP协议就是文件类接口,基于FTP,用户可以实现文件在网络间的共享和传输。而socket和HTTP可归结为数据通信接口,基于这两种接口,用户可以开发网络通信应用程序,以及web页面交互程序。当然如果从编程开发角度看,无论是FTP、HTTP还是telnet,都是基于socket接口开发出来的应用层协议,是对socket接口的进一步封装和抽象,从而为用户提供更高一层的服务和接口。
socket有时称之为“Berkeley Socket”,它是最早由伯克利开发的应用程序接口。常用的socket类型有两种:流式socket(SOCK_STREAM)和数据报式socket(SOCK_DGRAM)。
流式socket是一种面向连接的socket,针对于面向连接的TCP服务应用。
数据报式socket是一种无连接的socket,对应于无连接的UDP服务应用。
从用户接口意义上讲,还有传输层的TLI接口,是由AT&T开发的,有时也称作XTI。它是传输层为用户提供的应用程序接口,可以用来在传输层进行应用开发。
API之主要目的是提供应用程序与开发人员以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。提供API所定义的功能的软件称作此API的实现。API是一种接口,故而是一种抽象。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)