访问量: 213 次浏览
ServerAPI服务器应用程序接口技术,
是为了克服CGI方式的效率低下而开发出来的扩充的CGI工具,
其基本原理与CGI类似,不同的是CGI程序可以单独运行,
而由于ServerAPI应用程序是Web服务器进程的组成部分,
所以必须在特定的服务器上运行。
ServerAPI作为一种进程内的扩充方法,
进程创建和进程间通信负载大大减少,
运行速度比CGI程序要快得多,
在一定程度上改善了Web服务器的响应性能。
目前,流行的ServerAPI有Microsoft的ISAPI、
Netscape的NSAPI和O'Reilly的WSAPI。
实际应用中主要是Microsoft的ISAPI,
ISAPI设计的基本思想是基于动态链接库DLL,
使得Server程序运行速度提高和减轻系统的负载。
ISAPI的体系结构由ISAPI应用程序和ISAPIFilter程序组成,
前者的功能和地位与CGI程序相似,
后者用于扩展IIS/WWW服务器的功能。
从本质上说,ISAPI技术是一种外部Plug-ins技术,
IIS/WWWServer在需要时会将DLL装人系统中,
并直接调用它们,这些DLL会继续保留在系统中,
与服务器共享资源,当服务器发现有必要释放某些资源时,
会选择释放较少调用的DLL模块。下图表示了基于ISAPI的WebGIS。

客户端通过向Browser的HTMLForm中输入査询信息或
直接在请求URL之后附加“?”为引导的査询字符串将査询信息
传输到服务器端的ISAPIDLL,
与GIS数据库服务器交互作用得到査询结果。
ISAPIFilter位于WebGIS服务器的前端,
介于客户端与服务器之间,可当作嵌入服务器的一部分。
ISAPIFilter可对Web的请求和回复进行额外的前置和后置处理,
目的在于增强服务器端的功能。