FastCGI是公共网关接口(CGI)的扩展,该接口由一家现已倒闭的开放市场公司开发。FastCGI作为开放标准免费提供。它解决了CGI中限制性能的某些缺点。 与CGI不同,FastCGI不会为每个请求创建新的进程,因此,每次收到请求时,都可以...
FastCGI是公共网关接口(CGI)的扩展,该接口由一家现已倒闭的开放市场公司开发。FastCGI作为开放标准免费提供。它解决了CGI中限制性能的某些缺点。

与CGI不同,FastCGI不会为每个请求创建新的进程,因此,每次收到请求时,都可以最大限度地减少进程创建和销毁的开销。通过使用应用程序编程接口(API),如Netscape Server Application Programming Interface(NSAPI)或Internet Server Application Programming Interface(ISAPI),可以避免这种开销,但由于这些接口是专有的,因此是一个额外的学习曲线和受支持语言的限制。CGI的另一个缺点是无法获得可重用的某些情况,例如数据库连接或缓存技术。使用FastCGI比传统的CGI快30倍使用FastCGI,可以在一个连接上处理多个请求,这被称为多路复用,可以使用多个连接。使用文件传输协议(FTP)或套接字传输请求。然后使用相同的连接返回响应。虽然此时可能会关闭连接,web服务器和进程仍然保持不变,这有很多优点例如,它意味着服务器和应用程序进程可以分别关闭或重新启动,FastCGI最初是由开放市场开发的,并在其web服务器产品中实现,该接口可以在任何服务器上实现,然而,它很快就在许多其他行业的web服务器上实现了。FastCGI与分布式计算高度兼容,因此FastCGI应用程序可以在web服务的独立服务器上运行。这提供了增强系统可用性的所有优势,通过使用远程FastCGI,因为内部网络可以处理应用程序的运行,所以管理更少,就像CGI应用程序可以从超文本传输协议(HTTP)请求生成响应一样,FastCGI也可以这样做验证身份验证和转换数据类型。这些任务是使用角色来处理的,角色可以自由添加和扩展。FastCGI易于理解,几乎可以用任何编程语言运行。进程是孤立的,因此,服务器不会因为应用程序的特定问题而崩溃,任何使用FastCGI框架构建的应用程序都会落后于运行CGI的旧服务器,而且应用程序库的设计使得CGI应用程序的迁移变得简单。