网络应用编程接口(API)

应用程序编程接口(API)允许计算机程序员访问已发布的软件模块和服务的功能。 API定义了数据结构和子程序调用,可用于扩展现有的具有新功能的应用程序,并在其他软件组件之上构建全新的应用程序。 其中一些API特别支持网络编程

网络编程是一种针对通过包括因特网在内的计算机网络进行连接和通信的应用程序的软件开发。 网络API提供协议和可重用软件库的入口点。 网络API支持Web浏览器,Web数据库和许多移动应用程序。 它们在许多不同的编程语言和操作系统中得到广泛的支持。

套接字编程

传统的网络编程遵循客户机 - 服务器模型。 用于客户端 - 服务器网络的主要API在内置于操作系统中的套接字库中实现。 多年来, 伯克利套接字Windows套接字(Winsock) API是套接字编程的两个主要标准。

远程过程调用

RPC API通过增加应用程序在远程设备上调用功能的能力来扩展基本的网络编程技术,而不仅仅是向它们发送消息。 随着万维网(WWW)的蓬勃发展, XML-RPC成为RPC的一种流行机制。

简单对象访问协议(SOAP)

SOAP是在20世纪90年代后期开发的一种网络协议,使用XML作为其消息格式,并使用超文本传输​​协议(HTTP)作为其传输。 SOAP产生了一个忠实的Web服务程序员,并被广泛用于企业应用程序。

具象状态传输(REST)

REST是另一种编程模型,它也支持最近到达的Web服务。 与SOAP类似,REST API使用HTTP,但REST应用程序通常选择使用JavaScript Object Notation(JSON)代替XML。 REST和SOAP在其状态管理和安全方法上有很大不同,这两个方面都是网络程序员的关键考虑因素。 移动应用程序可能会或可能不会使用网络API,但通常会使用REST。

API的未来

SOAP和REST继续积极地用于开发新的Web服务。 作为比SOAP更新颖的技术,REST更有可能演变并产生API开发的其他分支。

操作系统也发展到支持许多新的网络API技术。 例如,在像Windows 10这样的现代操作系统中,套接字仍然是核心API,HTTP和其他附加支持位于顶层,用于REST风格的网络编程。

在计算机领域通常会出现这种情况,新技术往往比老技术过时得快得多。 寻找特别在云计算物联网(IoT)领域发生的有趣的新API发展,其中设备的特征及其使用模型与传统网络编程环境有很大不同。