api:

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

API分为:Windows API和 Linux API


Windows API

API函数包含在Windows系统目录下的动态连接库文件中。

Windows API是一套用来控制Windows的各个部件的外观和行为的预先定义的Windows函数。

用户的每个动作都会引发一个或几个函数的运行以告诉Windows发生了什么。

这在某种程度上很像Windows的天然代码。而其他的语言只是提供一种能自动而且更容易的访问API的方法。

当你点击窗体上的一个按钮时,Windows会发送一个消息给窗体,VB获取这个调用并经过分析后生成一个特定事件。


更易理解来说:

Windows系统除了协调应用程序的执行、内存的分配、系统资源的管理外,同时他也是一个很大的服务中心。

调用这个服务中心的各种服务(每一种服务就是一个函数)可以帮助应用程序达到开启视窗、描绘图形和使用周边设备等目的,由于这些函数服务的对象是应用程序,所以称之为Application Programming Interface,简称API 函数。

注意:API函数包含在位于系统目录下的DLL文件中,可以应用于所有计算机平台和操作系统。

WIN64 API也就是MicrosoftWindows 64位平台的应用程序编程接口。同理WIN32。


API功能:

远程过程调用(RPC):通过作用在共享数据缓存器上的过程(或任务)实现程序间的通信。
标准查询语言(SQL):是标准的访问数据的查询语言,通过通用数据库实现应用程序间的数据共享。
文件传输:文件传输通过发送格式化文件实现应用程序间数据共享。
信息交付:指松耦合或紧耦合应用程序间的小型格式化信息,通过程序间的直接通信实现数据共享

当前应用于 API 的标准包括ANSI 标准SQL API。

还有一些应用于其它类型的标准尚在制定之中。

这些API 以不同的格式连接数据。每种数据格式要求以不同的数据命令和参数实现正确的数据通信,但同时也会产生不同类型的错误。

因此,除了具备执行数据共享任务所需的知识以外,这些类型的API 还必须解决很多网络参数问题和可能的差错条件,即每个应用程序都必须清楚自身是否有强大的性能支持程序间通信。

相反由于这种API 只处理一种信息格式,所以该情形下的信息交付API 只提供较小的命令、网络参数以及差错条件子集。正因为如此,交付API 方式大大降低了系统复杂性,所以当应用程序需要通过多个平台实现数据共享时,采用信息交付API 类型是比较理想的选择。

总结:


凡是在 Windows工作环境底下执行的应用程序,都可以调用Windows API。


linux API:

在linux中,用户编程接口API遵循了UNIX中最流行的应用编程界面标准---POSIX标准。

POSIX标准是由IEEE和ISO/IEC共同开发的标准系统。

该标准基于当时现有的UNIX实践和经验,描述了操作系统的系统调用编程接口API,用于保证应用程序可以在源程序一级上在多种操作系统上移植运行。

这些系统调用编程接口主要是通过C库(LIBC)来实现的。


CGI:

CGI(Common Gateway Interface) 通用网关接口WWW技术中最重要的技术之一外部应用程序(CGI程序)与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的规程。

CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体。

在物理上是一段程序,运行在服务器上,提供同客户端HTML页面的接口。

实例:

空间个人主页、博客上都有评论(留言本)。

评论的的过程:

1.用户在客户端输入信息。

2.用户点一下“留言”(到目前为止工作都在客户端),浏览器把这些信息传送到服务器的CGI目录下特定的cgi程序中,cgi程序在服务器上按预定方法进行处理。

本例中就是把用户提交的信息存入指定的文件中。然后cgi程序给客户端发送一个信息,表示请求的任务已经结束。

此时用户在浏览器里将看到“评论成功”的字样。整个过程结束。


CGI功能:

绝大多数的CGI程序被用来解释处理来自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器。CGI程序使网页具有交互功能

CGI运行环境:

最初在UNIX操作系统上CERN或NCSA格式的服务器上运行。
Windows NT及Windows 95的服务器上也广泛地使用CGI程序,同时它也适用于各种类型机器。
   

CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。

CGI优点:


CGI可以为我们提供许多HTML无法做到的功能。
使在网络服务器下运行外部分应用程序(或网关)成为可能。
运行在Web服务器上的一个程序,由来自于浏览者的输入触发。
CGI能够让浏览者与服务器进行交互,如果你曾经遇到过在网络上填表或者进行搜索,就很有可能就是用的CGI。
CGI应用程序可以独立运行。
CGI应用程序可以由大多数的编程语言编写,如Perl(Practical Extraction and Report Language)、C\C++、Java 和Visual Basic等。


缺点:
CGI应用程序运行在浏览器可以请求的服务器系统上,执行时需要使用服务器CPU时间和内存。
如果成千上万的CGI程序同时运行,会对服务器系统要求极高。要考虑到服务器系统崩溃的问题。
不完善的CGI可能会为别人非法进服务器系统的通道,导致重要资料删除或外泄。
CGI应用程序主要的用途有以下几种:
根据浏览者填写的HTML表单发送定制的答复;
创建可单击的图像缩小图;
创建一个浏览者可以搜索内容的数据库;
提供服务器与数据库的接口,并把结果转换成HTML文档;
制作动态HTML文挡。


工作原理:
1.浏览器通过HTML表单或超链接请求指向一个CGI应用程序的URL。
2.服务器收发到请求。
3.服务器执行指定所CGI应用程序。
4.CGI应用程序执行所需要的操作,通常是基于浏览者输入的内容。
5.CGI应用程序把结果格式化为网络服务器和浏览器能够理解的文档(通常是HTML网页)。
6.网络服务器把结果返回到浏览器中。

步骤:

⑴通过Internet把用户请求送到web服务器。
⑵web服务器接收用户请求并交给CGI程序处理。
⑶CGI程序把处理结果传送给web服务器。
⑷web服务器把结果送回到用户。


扩展:

API与GUI:

API 接口属于一种操作系统或程序接口,GUI接口属于一种图形操作系统。两者都属于直接用户接口。有时公司会将 API 作为其公共开放系统。也就是说,公司制定自己的系统接口标准,当需要执行系统整合、自定义和程序应用等操作时,公司所有成员都可以通过该接口标准调用源代码,该接口标准被称之为开放式API。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐