`
csstome
  • 浏览: 1528208 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

试用EF开发WEB应用程序(1): 方案选择,为什么是FastCGI

阅读更多

题记:用“易语言.飞扬”(EF)开发WEB应用程序,此前还没有先例。但因为EF本地开发包(EFNDK)已经发布,用C/C++开发一个EF类库,使其支持EF开发WEB应用程序,应该并非难事。当然也可想而知,其中必有诸多难点有待解决。此系列文章,为本人探索过程之记录,对外人未必有多大价值。如有网友乐观其事,还请理性待之。作者:liigo。转载请务必注明出处:http://blog.csdn.net/liigo/在线留言


试用EF开发WEB应用程序(1): 方案选择,为什么是FastCGI

通俗来说,目前的WEB应用程序开发模式主要有:

1、JSP/Servlet,ASP(ASP.NET)
2、ISAPI,NSAPI,Apache mod
3、PHP,PERL,ROR

这只是“通俗”的说法,分类并不科学。JSP、ASP(.net)各为两大集团所挟持,Microsoft拥有IIS可以自行其事,JAVA集团更猛,搞出一系列应用服务器出来(Weblogic, Websphere, Tomcat, Apusic)。ISAPI、NSAPI、Apache mod也都是与各自的WEB服务器紧密相关。PHP/PERL/ROR/...,并不一定采用哪种固定的解决方案,可能是FastCGI、Apache mod、ISAPI、NSAPI等。这么算下来,也只有 CGI/FastCGI 属于第三方标准,与操作系统、WEB服务器、编程语言等没有直接关联。

FastCGI 同CGI一样是一个WEB服务器与外部程序接口的标准,它是为解决CGI的性能问题而开发的一种技术。FastCGI对CGI技术进行了改良,一个FastCGI进程在WEB服务器启动时或在客户端第一次请求时创建,它处理完客户端请求后并不终止,而是等待处理下一个请求。另外FastCGI程序与CGI程序与服务器的交互方式也不同,CGI程序通过环境变量、命令行、标准输入输出进行交互,因此CGI程序进程必须与服务器进程在同一台物理计算机上,而FastCGI程序与服务器进程通过网络连接交互,因此FastCGI程序可以分布在不同的计算机上,这不但可以提高性能,同时也提高了系统的扩展能力。FastCGI程序与CGI程序保持二进制兼容,其运行效率一般是普通CGI程序的 3 - 5 倍以上。

目前的主流WEB服务器均支持FastCGI,PHP、PERL、RUBY等编程语言均提供FastCGI解决方案。

没错,我的选择就是 FastCGI 。FastCGI跟EF,理应是不错的搭配。

可能有人会说 FastCGI / CGI 此类技术太古老了,用的人不多。这个说法只对了一半。技术是不分新旧的,要论历史,TCP/IP更悠久,现在一样发挥着重要作用。说用的人不多,也不完全对。FastCGI/CGI 固然没有JSP/ASP两大NB阵营风光,可依然在PHP/PERL/RUBY(ROR)领域发挥着重要作用。说白了,非主流阵营(或小集团阵营,请容许我这么说),若想不依赖于任何强势集团,也只有选择这种第三方标准。选择CGI(FastCGI),是一种技术上的返璞归真。况且它在执行效率上有不可抗拒的优势。


顺便透露,“易语言.飞扬”(EF)的 FastCGI 类库(fastcgi.efn)已经初步完成,并且已经完成了第一个“Hello world” WEB应用程序。目前正在继续完善中。

下篇预告:用EF开发第一个动态网页(如果称之“WEB应用程序”未免有些牵强,呵呵)。
分享到:
评论

相关推荐

    node-fastcgi:使用node.js创建FastCGI应用程序

    它可用于构建FastCGI应用程序或将现有的节点应用程序转换为FastCGI。 该实现完全符合。 例 var fcgi = require ( 'node-fastcgi' ) ; fcgi . createServer ( function ( req , res ) { if ( req . method === '...

    用C++开发Web 商用程序

    在C++这个强大的编程语言背景下,开发Web商用程序可以充分利用其高效、灵活和面向对象的特性,为现代互联网应用提供高性能的解决方案。本主题将深入探讨如何利用C++技术构建Web应用程序,尤其关注其在商业环境中的...

    fastcgipp:fastcgi ++:一个C ++ FastCGI和Web开发平台:

    FastCGI++,又称为fastcgipp,是一个基于C++语言的FastCGI开发库,旨在为Web开发者提供一个高效、灵活的框架,用于构建高性能的Web应用程序。FastCGI是一种通信协议,它允许Web服务器与外部进程进行长时间连接,从而...

    FastCGI SDK

    FastCGI在Web服务器和应用服务器之间建立持久的连接,当请求到来时,Web服务器会将请求传递给FastCGI进程,而不再像CGI那样为每个请求创建新的进程。处理完请求后,FastCGI进程不会立即退出,而是等待下一个请求的...

    完整版 web应用开发 web网站建设实用教程 第6-3讲 PHP web开发环境(共152页).ppt

    同时,熟悉MySQL的基本操作,如创建数据库、表,以及查询语言SQL,是开发Web应用的必备技能。此外,学习如何使用PHP连接和操作数据库,如使用PDO(PHP Data Objects)或mysqli扩展,是实现动态功能的基础。 在Web ...

    Java的FastCGI网关 jFastCGI

    在Web开发中,FastCGI(Fast Common Gateway Interface)是一种常用于提高动态网站性能的技术,它允许Web服务器与后端应用程序进行高效通信。jFastCGI是Java平台上的一个实现,它为Java开发者提供了使用FastCGI协议...

    Pulma:Pulma-用于快速开发基于Perl的FastCGI Web应用程序的框架

    Pulma是一款专为Perl编程语言设计的Web应用程序框架,它致力于简化基于FastCGI的Web应用开发流程,提供高效、快速的开发环境。FastCGI(Fast Common Gateway Interface)是一种常驻型的CGI协议,能够显著提高Web...

    用VC++开发FastCGI+MySQL的基本源代码

    在IT行业中,FastCGI(Fast Common Gateway Interface)是一种用于提高Web服务器性能的技术,它能够使Web服务器与外部应用程序(如动态脚本语言解释器)进行高效通信。FastCGI的核心理念是保持进程常驻,避免每次...

    Fastcgi学习总结(C/C++语言版)

    1. **打破传统页面处理技术**:FastCGI允许应用程序独立于Web服务器或Application服务器,通过网络通信,适合大规模分布式部署。 2. **明确的请求模式**:FastCGI定义了应用程序的角色,如响应器、认证器和过滤器,...

    使用 Go 创建 Web 应用程序的最简单方法.zip

    使用 Go 创建 Web 应用程序的最简单方法web.goweb.go 是用 Go 编程语言编写 Web 应用程序的最简单方法。它是编写简单、高性能的后端 Web 服务的理想选择。概述对于使用 sinatra 或 web.py 等高级 Web 框架开发过网站...

    fastcgi头文件和库

    总的来说,FastCGI头文件和库是构建高性能Web服务基础设施的关键组件,它们为开发者提供了高效地与Web服务器交互的能力,使得Web应用能够快速、稳定地处理大量并发请求。了解并熟练运用这些资源对于开发高性能的Web...

    Fastcgi中文参考手册 doc

    相比之下,FastCGI作为一种改进方案,能够显著提高Web应用程序的性能。 #### 技术原理详解 **短生存期应用程序 vs. 长生存期应用程序** - **短生存期应用程序**:指每次接收请求都会创建新的进程进行处理,如传统的...

    FastCGI手册

    1. **打破了传统页面处理技术的局限性**:FastCGI允许应用程序独立于Web服务器运行,并可以通过网络进行通信,提高了系统的灵活性和可扩展性。 2. **请求模式的明确性**:FastCGI程序拥有明确的角色分配,使得程序的...

    基于Python的Web应用程序的Web服务器比较.md

    # 基于Python的Web应用程序的Web服务器比较 ## 引言 本文将深入探讨Python Web服务器领域内的几个核心概念及其发展历程,并着重对比不同类型的Web服务器如何支持Python Web应用程序。我们将从Python Web服务器网关...

    Web应用安全:Web应用服务器.pptx

    Web应用安全是一个重要的议题,尤其是随着互联网的普及和数字化转型的加速,Web应用已经成为企业和服务提供商的核心组成部分。Web应用服务器是支撑这些应用的关键基础设施,它们不仅处理HTTP协议,还负责处理动态...

    FastCGI支持库

    总的来说,FastCGI支持库是构建高性能Web服务的关键组件,它为Web服务器和动态内容生成应用程序提供了一个高效、可扩展的接口。通过理解和利用FastCGI,开发者可以构建出能够处理大量并发请求的高性能Web应用。

    fastcgi的一点资料

    3. **处理请求**:FastCGI进程解析请求,执行相应的脚本或应用程序,并生成响应内容。 4. **返回结果**:FastCGI进程将处理结果返回给Web服务器,Web服务器再将结果发送回客户端。 ### FastCGI与Web服务器的集成 ...

    fastcgi中文手册.pdf

    《FastCGI中文手册》是IT领域中关于Web服务器与应用程序接口的重要参考资料,它详细介绍了FastCGI协议的原理、实现以及应用。FastCGI是一种用于提高动态内容生成速度的技术,它通过持久连接来减少每次请求时的启动和...

    6.2: 部署LNMP 、 Nginx+FastCGI 、 Nginx高级技术 、 总结和答疑(1).docx

    FastCGI是一种协议,允许外部应用(如PHP)与Web服务器通信。Nginx配置文件中需指定FastCGI的监听地址和路径,以便在接收到动态请求时将请求转发给PHP-FPM。 **Nginx高级技术** Nginx支持多种高级技术,包括但不...

    FastCGI 下载FastCGI for IIS6下载 1.5(32位&64位)

    3. 安装完成后,需要在IIS6管理控制台中配置FastCGI设置,包括添加FastCGI应用程序映射和配置FastCGI扩展。 4. 配置PHP:确保PHP已安装并设置好路径,然后在FastCGI设置中指定PHP可执行文件的位置。 5. 最后,测试...

Global site tag (gtag.js) - Google Analytics