DELPHI AND THE INTERNET(3) 术能使您“‘写入’服务器端的原本和过滤本,从而扩充微软因特网信息服务和其他ISAPI万维网服务”。如果您需要找到关于ISAPI的描述,可以去: http://www.microsoft.com/intdev/sdk/servapi.htm [注:上帝保佑您!;-) (译者)]在本文最后,附加了一个名为HTTPEXT.PAS的关键的ISAPI文档的拷贝。微软公司免费发布的因特网控制包(ICP)是一个OCX/ActiveX控制集,您可以在Delphi中把它们拖放到应用程序上(Delphi2.0中包含这些控件)。他们提供了创建Delphi应用程序的即时支持,他们知道如何浏览网页、如何应用FTP、WINSOCK和其他因特网技术。如果您的Delphi拷贝中没有包含这些控件,那么您在使用它们之前您应该把这些文档添加进Delphi所在的目录中的Lib目录下。这些文档位于上面提及的链接中的Borland的INDEX.HTML站点下。在本文中我没有提到ICP控件,但是任何对这项技术有兴趣的人应该明确确认他拥有这些控件的拷贝。您可以从我的站点下载我的Pascal应用文件,他们的名字是STRBOX.PAS 和 MATHBOX.PAS。经常察看一下这个站点上的关于本文提到的信息的更新情况是很有好处的。在这里我假设读者对于Delphi和Object Pascal都很熟悉,并且读者对于因特网,HTML,浏览器和万维网服务器有基本的了解。ISAPIISAPI是一项很容易使用然而功能强大的技术,它能够让您扩充因特网信息服务的功能。这项技术随WindowsNT4.0附送,让您在您的服务器上建立WEB、FTP和GOPHER站点。同时这项技术与WindowsNT3.51 Server[注:指服务器版本,另一个版本是工作站版本(译者)]兼容。在过去,扩充网页服务器的最佳办法是建立CGI应用程序。它们是强有力的工具,但是也被他们的执行格式所限制[注:如PERL是解释执行的(译者)]。当您从浏览其上发出一个基于CGI的请求到服务器上时,这个CGI应用程序将极有可能先被强制装入内存中,这会消耗很多时间。而且,在某些环境下,CGI技术显得稍微难用了一点。ISAPI是一种通过写入DLLs[注:动态链结程序(译者)]从而替代CGI应用的方法。您也可以通过ISAPI来写过滤文本,但这项技术我不会在本篇中提及。同CGI相比,ISAPI更容易使用,而且它更快,同时能更好地利用系统资源。在下面几点中,我将详细地介绍为什么ISAPI DLLs比CGI应用要更为出色:ISAPI DLLs与HTTP服务位于相同的地址,因此他们能够从服务器上直接存取HTTP服务。与CGI应用相比,它们能更快地装入内存;当他们在服务器上发出请求时,所需的停悬的时间[注:指发出请求到接受服务器应答的时间(译者)]要少的多。这点当服务器的负荷很重时更加重要。您可以控制DLLs何时被装载和卸载。例如:您可以在第一次尝试请求时预先装载DLLs;当它们不被使用时卸载这个ISAPI应用DLLs以便释放系统资源。