第19章 Web API的基础
19.1 Web API与Web服务
API 这一术语指的是应用程序与系统之间的接口,是 Application Programming Interface 的缩写。在 Web API 这一术语出现之前,API 主要的目标使用对象是操作系统及框架。在特定的操作系统(Unix 或 Windows 等)或特定的框架上运行的程序,将会通过操作系统及框架所提供的功能来执行处理。
从程序开发者的角度来看,程序代码所使用的是库(Unix 系操作系统中的 libc 或 Windows 中的 DLL 等)中的函数或类库。也就是说,在开发者看来,API 是函数以及类的标准,是由他们所决定的
Web API 的目标使用对象
Web API 的定义
Web API 的目标使用对象是 Web 服务。这里,我们首先假设存在 Web 服务这一体系,并以此为前提对 Web API 进行定义。
假设存在一些使用了 Web 服务的程序。在 Web 服务与这一程序之间,是通过 HTTP 进行通信的。程序向 Web服务发出 HTTP 请求,并接收其响应。Web 服务可以提供多种功能,这里假设它可以创建一个文档,并返回处理结果。这时,通信所使用的规则就是 Web API。
Web API 也能具有一些其他的形式。例如,Web API 还可以是在内部隐藏了 HTTP 通信的函数或类库的形式。不过,Web API 最为基本的形式就是一种 HTTP 的调用规则。也就是说,它包含了请求方的 URL 定义、查询参数名、响应格式的定义等内容。
Web 服务与 Web 应用程序
在很多情况下,Web 服务与 Web 应用程序的用法没有太大差异,它们之间的区别并不那么明显。两者的基本功能没有区别,都是接收 HTTP 请求并返回响应。有的人将程序所调用的体系称为 Web 服务,而将用户通过浏览器所使用的体系称为 Web 应用程序。
不过,被调用方并没有办法准确的区分自己是被用户使用的,还是被程序使用的,因此,这种定义方式从技术上来说是含糊不清的。而 Web API 正是一种形式上的规则,因此,Web API 与 Web 服务其实是表里一致的。