访问量: 110 次浏览
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的请求和回复进行额外的前置和后置处理, 目的在于增强服务器端的功能。