二、CGI与其它扩展技术的比较
除CGI标准扩展技术外,常见的扩展技术还有API(ApplicationProgrammingInterface)
和SSI(ServerSideIncludes),这两种技术都与具体的WWW服务器有关。下面先对这两
种技术简要说明,然后再对这三种技术作比较。SSI技术:当服务器守护进程接收到客
户端请求时,其子进程扫描客户端所请求的文档,以获取数据插入标志,再插入相关动
态数据,然后返回给客户端。这种技术简单,但效率不高。API技术:不同的WWW服务器
提供的API可能不同,比如O′ReillyWebsite提供的是WSAPI;PurveyorWebserver和Microsoft
IIS提供的是ISAPI。利用这些API编写程序的流程和最后生成的文件类型也不一样;比
如用ISAPI,编写程序时必须依照它的特定框架,最后建立的文件可以是EXE文件和DLL
文件。下表(图3-3)列出了CGI、SSI和API三种技术在主要性能方面的比较:SSI CGI API
实现的灵活性 差 好 好 可实现的功能 差 强大 强大对程序员的要求 低 一般 较高
开发与测试时间 短 一般 较长 花费 低 一般 较高操作的风险性 低 低 较大移植性
较好 较好 差 CPU的负载 高 高 较低CGI和API都需要编程实现,利用它们可访问更
多的数据源;而SSI不需编程。利用API开发的扩展软件,其运行速度比CGI快,功能也
较CGI强;但其操作有一定的风险,出现错误时可能使系统崩溃(CGI程序不会),并
且它非常依赖于具体的服务器而移植性太差,开发周期较长。CGI在操作的风险性、软
件移植性、软件开发难度等方面较API有优势;其缺点在于CPU负载较高,特别是同时
发生的CGI请求很多时,将影响服务器的综合性能。综合比较而言,CGI比其它两种技
术更优秀,在实际应用中也最为普遍。