cgi和webservice之间的区别

时间:2014-09-09 07:18:11

标签: web-services cgi

任何人都可以告诉我CGI应用程序和Web服务之间的主要区别。我一直在谷歌搜索,但找不到更好的答案。

我只知道CGI早于webservice发现。

2 个答案:

答案 0 :(得分:4)

CGI(通用网关接口)是Web服务器启动外部应用程序(并将reuqest信息传递给应用程序)的一种方式,以便提供动态内容。

Web服务也是某种动态内容,可以使用CGI应用程序(或类似方法)实现。但是,对于Web服务,内容是机器可读的(XML),并且必须遵循严格的规范。因此,webservices旨在被其他程序自动使用。

今天仍然使用CGI的一般概念,但是,它具有一些缺点(例如,对于每个请求,必须在服务器上启动新的应用程序)。现在更常见的是将模块/插件加载到处理脚本执行的web服务器中(例如,mod-php,mod-perl - 解析器加载一次,只需执行所请求的脚本)。

答案 1 :(得分:-2)

CGI与Web服务器API 公共网关接口(CGI)是作为标准协议引入的,用于通过其他应用程序扩展Web服务器的功能。大多数CGI应用程序都是简单的可执行文件,每次请求时都会启动它们。 ColdFusion使用更强大的架构。 ColdFusion Application Server作为多线程系统服务运行,并处理所有复杂的处理。 Application Server通过称为存根(cfml.exe)的非常小的CGI可执行文件或通过本机Web服务器API与Web服务器通信。

随着Web服务器的发展,每个供应商都为其服务器引入并实现了应用程序编程接口(API)。本机Web服务器API提供了其他功能并显着提高了性能。支持API的服务器不是启动CGI可执行文件,而是通过DLL直接与ColdFusion应用程序服务器通信。

除了引入服务器API之外,许多服务器供应商还创建了文档类型映射,以便单个文档扩展可以与进程相关联。这样就可以创建直接存储在Web服务器根目录中的ColdFusion应用程序页面。

ColdFusion支持以下主要的本机Web服务器API:

  • Netscape API(NSAPI)
  • Internet服务器
  • API(ISAPI)
  • 网站API(WSAPI)
  • Apache API

这些服务器支持这些API和文档类型映射:

  • Netscape Enterprise和FastTrack服务器
  • Microsoft IIS(所有版本)
  • 网站(1.1和专业版)
  • 的Apache
  • 列表项