技术开发 频道

ISAPI与CGI的比较及其实现

  四、ISAPI原理及其性能

  4.1ISAPI概念

  ISAPI即InternetServerApplicationProgramInterface,是微软提供的一套面向Internet服务的API接口,它能实现CGI能提供的全部功能,并在此基础上进行了扩展,如提供了过滤器应用程序接口。

  4.2ISAPI程序语言

  由于开发ISAPI应用要用到微软的一套API,所以能用来开发ISAPI应用的语言不如CGI那么多。主要有VisualC++4.1以上版本,VisualBasic5.0、BorlandC++5.0也可以。

  4.3ISAPI原理

  ISAPI的工作原理和CGI大体上是相同的,都是通过交互式主页取得用户输入信息,然后交服务器后台处理。但是二者在实现机制上大相庭径。ISAPI与CGI最大的区别在于:不同于CGI,在ISAPI下建立的应用程序是以动态连接库的形式存在;而CGI的应用程序一般都是可执行程序。

  4.4ISAPI程序的执行

  ISAPI应用的工作流程与CGI有一些不同。ISAPI应用的DLL不仅可以象CGI程序一样被用户请求激活,还可以被系统预先激活来监视用户输入;对于被用户激活的DLL,在处理完一个用户请求后不会马上消失,而是继续驻留在内存中等待处理别的用户输入,直到过了一段时间后一直没有用户输入。

  4.5ISAPI性能评价

  一个ISAPI的DLL,可以在被用户请求激活后长驻内存,等待用户的另一个请求,还可以在一个DLL里设置多个用户请求处理函数,此外,ISAPI的DLL应用程序和WWW服务器处于同一个进程中,效率要显著高于CGI。

  不过ISAPI的平台兼容性较差,目前只能用于微软自己的Windows95和NT操作系统上,服务器平台也仅限于IIS(InternetInformationServer)和MSpersonalwebserver以及NTworkstation上的peerwebserver。

0
相关文章