关于CGI,WINCGI,ISAPI(155分)

  • 主题发起人 主题发起人 dll
  • 开始时间 开始时间
D

dll

Unregistered / Unconfirmed
GUEST, unregistred user!
标题所示三者有何区别?请大虾明示!
 
ISAPI和NSAPI是编译成DLL,CGI是EXE有控制台执行,响应用户请求。
WINCGI是读入服务器的INI问件实现,支持它的服务器较少。如WEB SITE
 
本人就知上面一点东西,请各位大虾深入探讨!
 
CGI:通用网关接口,可以是编译产生,也可以是用脚本编写
WIN CGI: CGI的WINDOWS版本
ISAPI:是互联网服务器API的简称,源于微软公司的信息服务器API,但从创建开始
它就作为一个开放标准向委员会提交。
 
我看过文章名字是<Delphi&Internet>,若要的话Email me.
 
建议使用ISAPI,因为CGI不支持多线程,效率低
 
我正好有一个介绍这三者关系的文章,非常好,需要的话EMAIL me.
 
iSAPI and NSAPI

An ISAPI or NSAPI Web server application is a DLL that is loaded by the Web server. Client request information is passed to the DLL as a structure and evaluated by TISAPIApplication, which creates TISAPIRequest and TISAPIResponse objects. Each request message is automatically handled in a separate execution thread.

CGI stand-alone

A CGI stand-alone Web server application is a console application that receives client request information on standard input and passes the results back to the server on standard output. This data is evaluated by TCGIApplication, which creates TCGIRequest and TCGIResponse objects. Each request message is handled by a separate instance of the application.

Win-CGI stand-alone

A Win-CGI stand-alone Web server application is a Windows application that receives client request information from a configuration settings (INI) file written by the server and writes the results to a file that the server passes back to the client. The INI file is evaluated by TCGIApplication, which creates TWinCGIRequest and TWinCGIResponse objects. Each request message is handled by a separate instance of the application.
 
isapi 在 web 服务器上只装入一次,以后就常驻内存,再有人访问时,直接从内存中取出
运行,速度就很快了。
CGI 则是对每个请求运行一次 exe 文件,运行完就释放其占用的资源。请求数少时没什么
问题,如果请求数太多,服务器就会资源耗尽而当掉。
winCGI 如上面老兄说的,只是看起来太费劲。
 

不同类型的 对象pooling 线程pooling 数据库pooling 激活次数 两层系统
Web应用系统 的危险性

CGI类型 没有 没有 可能有 每一次HTTP要 较低
求都激活一次
ISAPI/NSAPI 没有 没有 打开数据存取引擎的 较CGI类型少 较高
pooling功能即可拥有
ASP类型 没有 可能有 使用ASP组件就 IIS5.0改善了每次 较高
可能拥有 要求都要加载/解释
结合MTS Windows 2000 有 有 若搭配ASP则基本 低
的COM+提供 上同ASP类型 (多层)

不同类型的Web应用系统的主要性能对照表
 
大家讲的已经比较清楚了.
Cgi:Common gateway interface.公共网关接口
很久以来用的一种服务器端应用程序,是标准的
可执行文件(dos/win下的exe文件),可用于各种平台
下.但他采用的是进程方式,每次客户请求就产生一个进程,
因此效率不是很高,可能被淘汰.
wincgi:即windows下的cgi,它主要和标准cgi的不同在与它采用
文件方式的i/o,(而cgi是标准方式的i/o),比如读取ini文件...
其缺点同cgi
isapi:internet server API.互联网服务器API,主要由MS推出,
采用dll新式,(例如windows下的dll),一旦装入内存,每次请求调用
不需重新开一个进程,而只需从内存调用.因此效率比较高.Netscape
也推出Nsapi,类似,但ISapi 是标准,用的比较多.他们唯一缺点
是编程麻烦,(要考虑线程程同步问题).适用于win平台.
以上编程多比较麻烦,现在用的较多的是角本编程,如Asp,Jsp等.

 
多人接受答案了。
 
后退
顶部