搜索
您的当前位置:首页正文

网站开发的主要技术及比较

来源:六九路网
网站开发的主要技术及比较

--分析CGI;ASP;PHP;JSP;ASP.NET五种技术的特点

摘要:计算机网络为人们的生活打开了一片新的天地,创新了人们的生活方式。网站为作为网络中的节点,为人们提供丰富多彩的信息。目前,网站的开发技术有很多,从最初的CGI,到现在广泛使用的ASP、PHP,JSP、ASP.NET等,每一种技术都它的优势与缺点。在开发不同的网站时,需要根据网站的功能需求、面对的受众、访问量、开发人员的特长等因素选择不同的技术。本文将对各种技术进行全面的比较,为选择网站建设|j支术提供有益的借鉴。关键词:网站;CGI;ASP;PHP;JSP;ASP.NET.

1.概述

网络作为一种现代社会的新型信息传播媒介。自上个世纪六十年代诞生以来,以超常规的速度发展,深入到社会的每一个角落,与人们的生活息息相关。网络是一个借助网络协议构建的包括硬件、软件和数据资源的综合应用系统。从物理层面看,它是一个用通信线路和通信设备将分布在不同地点的计算机互相连接起来的硬件系统;从系统服务层面看,它是大量相关软件组成的支持系统;从信息层面看,它是一系列包含大量信息的(节点)网站组成的数据资源系统,以网站为载体给人们提供各种网络服务。

网站(Website)是网络中为人们提供各种服务的站点,是由一系列用于展示特定内容的相关网页集合而成。人们可以通过网站来发布信息,或者利用网站来提供相关的服务。人们可以通过网页浏览器来访问网站,获取自己需要的信息或者享受网络服务。随着互联网的高速发展,现在绝大多数的单位都拥有自己的网站,他们利用网站来开展宣传、发布信息、完成招聘等活动。随着网页制作技术的流行与普及,很多个人也拥有自己的主页,用来展示个人信息、储存个人资料、展现个性。人们对信息的需求,催生了大量以提供网络信息服务的网络公司,它们通过网站为人们提供时事新闻、旅游、娱乐、购物、财经等生活各个方面的信息。

网站的开发技术有很多,主要包括CGI、ASP、PHP、JSP、ASP.NET等。每一种技术都有其自身的特点与局限性,具体的网站开发技术要根据网站的功能需求、面对的受众、访问量、开发者熟悉的技术等方面进行选择。以下将对各种网站开发技术进行全方位的比较。.·、

2CGl(CommonGatewayInterface)技术

2.1CGI的涵义

CGI的含义是“公共网关接口”。CGI是一段程序,是H1TrP服务器与其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上,提供客户端Html页面的接口。2.2CGI的工作原理

绝大多数的CGI程序被用来解释处理来自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器。CGI程序使网页具有交互功能。其工作流程如下:

1)通过Internet把用户请求送到服务器。2)服务器接收用户请求并交给CGl程序处理。3)CGI程序把处理结果传送给服务器。4)服务器把结果送回到用户。2.3CGI的技术特点

CGI可以为我们提供许多HTML无法做到的功能。比如:1)一个记数器;2)顾客信息表格的提交以及统计;3)搜索进程;4)Web数据库。

用Html是没有办法记住客户的任何信息的,就算用户愿意让你知道。用Html也是无法把信息记录到某一个特定文件里的。要把客户端的信息记录在服务器的硬盘上。就要用到CGI。这是CGI最重要的作用,它补充了Html的不足。2.4CGI的缺点

1)CGI是进程,服务器负担重。由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求

的时候,服务器就会打开多个进程。这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。CGI方式不适合大访问量的应用。

2)CGI程序有对系统可读写的权力,有了这个权力。黑客就可以设法控制系统,读写系统数据;

3)难学难用,编程效率很低。

3ASP{ActiveServerPage)技术

ASP是一个Web服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的Web服务应用程序。ASP采用脚本语言VBScript(Javascript)作为自己的开发语言。3.1ASP的含义

ASP意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用。它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是.asp。现在常用于各种动态网站中。ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的Web应用程序。3.2ASP的工作原理

当在Web站点中融入ASP功能后,将发生以下事情:

1)用户向浏览器地址栏输入网址,默认页面的扩展名是.asp。2)浏览器向服务器发出请求。3)服务器引擎开始运行ASP程序。

4)ASP文件按照从上到下的顺序开始处理,执行脚本命令,执行HTML页面内容。

5)页面信息发送到浏览器。3.3ASP技术特点’

与HTML相比,ASP网页具有以下特点:

1)利用ASP可以实现突破静态网页的一些功能限制。实现动态网页技术;2)ASP文件是包含在HTML代码所组成的文件中的.易于修改和测试:3)服务器上的ASP解释程序会在服务器端执行ASP程序,并将结果以HTML格式传送到客户端浏览器上,因此使用各种浏览器都可以正常浏览ASP所产生的网页:

4)ASP提供了一些内置对象,使用这些对象可以使服务器端脚本功能更强。例如可以从Web浏览器中获取用户通过HTML表单提交的信息,并在脚本中对这些信息进行处理.然后向Web浏览器发送信息;

5)ASP可以使用服务器端ActiveX组件来执行各种各样的任务,例如存取数据库、发送Email或访问文件系统等。

6)由于服务器是将ASP程序执行的结果以HTML格式传回客户端浏览器,因此使用者不会看到ASP所编写的原始程序代码,可防止ASP程序代码被窃取。

7)方便连接ACCESS与SQL数据库。3.4ASP技术的缺点

1)ASP最大的缺点在于网络的安全性和可靠性,企业将经营数据放在开放的平台上,最大的担忧就是如何保证这些数据不被其他人破坏。因为与ASP配对的Access数据库的安全性比较差,一是容易被下载,二是容易被解密。

2)一般国外Windows空间价格要相对高点。3)数据库连接方面,asp使用ADO对数据库进行操作,会相当耗费服务器资源,因为它要一直连在服务器上,如果一两台电脑那还没关系,如果一百万人同时访问这一网站呢?那读取数据自然就变得相当耗费时间,这就造成了网络塞车的现象。

4)ASP是Microsoft开发的动态网页语言,也继承了微软产品的一贯传统,只能执行于微软的服务器产品,不能实现跨平台运行。

5)还无法完全实现一些企业级的功能.如完全的集群、负载均衡。

4ASP.NET技术

4.1ASP.NET技术的涵义.

ASP.NET不仅仅是ASP的下一个版本,而且是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.NET提供许多比现在的Web开发模式强大的优势。4.2ASP.NET技术的特点

1)执行效率高

ASP.NET是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译.这样的执行效果,当然比一条一条的解释强很多。

2)适应性强因为ASP.NET是基于通用语言的编译运行的程序,适应性强。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.NET的Web应用中。ASP.NET同时也是language—independent语言独立化的。所以。你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C彝(C++和Java的结合体),VB,Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序。能够完整的移植到ASP.NET。

3)简单易学性ASP.NET使运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。

4)高效可管理性

ASP.NET使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启

动本地的管理员工具就可以实现。一个ASP.NET的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须的文件,不需要系统的重新启动,一切就是这么简单。

5)多处理器环境的可靠性ASP.NET已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术.将很大的提高运行速度。即使你现在的ASP.NET应用软件是为一个处理器开发的.将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP确做不到这一点。4.3ASP.NET的缺点

ASP.NET,提供了Cookies,QueryStriIlgs(ORL),Hiddenfields,ViewStateandControlstate(ASP.NET2.O),来管理客户端请求。但在应用中存在以下缺点:

1)客户端可以禁用Cookie

2)Cookie在每次请求或发送时都会被加载,影响传输。3)易被攻破。所有不适合存储安全信息。4)不安全。以明文的形式直接从网络传输。

5)加密编码增加了页面的大小,增加了网络传输。

5PHP(PHP:HypertextPreprocessor)技术

5.1PHP技术的涵义

PHP是英文超级文本预处理语言的缩写。PHP是一种HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。它可以比CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比.PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多。5.2PHP的工作原理

PHP的所有应用程序都是通过Web服务器(如IIS或Apache)和PHP引擎程序解释执行完成的,其工作过程如下:

1)当用户在浏览器地址中输入要访问的PHP页面文件名,然后回车就会触发这个PHP请求,并将请求传送给支持PHP的Web服务器。

2)Web服务器接受这个请求,并根据其后缀进行判断如果是一个PHP请求,Web服务器从硬盘或内存中取出用户要访问的PHP应用程序,并将其发送给PHP引擎程序。

3)PHP引擎程序将会对Web服务器传送过来的文件从头到尾进行扫描并根据命令从后台读取,处理数据,并动态地生成相应的HTML页面。

4)PHP引擎将生成HTML页面返回给Web服务器。Web服务器再将HTML页面返回给客户端浏览器。5.3PHP的特性

1)开放的源代码。所有的PHP源代码都可以免费得到。

2)PHP的便捷性。因为PHP可以嵌入HTML语言。PHP坚持脚本语言为主,简单易学。

3)跨平台运行。由于PHP是运行在服务器端的脚本.可以运行在UNIX、UNUX、WINDOWS下。

4)效率高。PHP消耗相当少的系统资源。

5)图像处理。用PHP动态创建图像

6)面向对像:在PHP4,PHP5中.面向对象方面都有了很大的改进,现在PHP完全可以用来开发大型商业程序。

7)运行速度比起Asp解释型语言要快,比较容易找到廉价的空间。5.4PHP技术的缺点

1)运行速度受限制。与Mysql的配合使用,使得数据库与网站程序分别位于两台服务器,网站的整体速度受到了Web服务器与DB服务器之间的交互速度及Web服务器运行速度及反应速度的制约。

2)拓展性较差。经过编译的程序,除了编译者,他人很难进行拓展。

3)不适合应用于大型电子商务站点,而更适合一些小型的商业站点。首先,PHP缺乏规模支持。其次。缺乏多层结构支持。

4)提供的数据库接口支持不统一,这就使得它不适合运用在电子商务中。

6JSP(JavaServerPages)技术

6.1JSP的涵义

JSP是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。6.2JSP的工作原理

利用JSP技术,动态信息由JSP页面来表现,JSP页面由安装在Web服务器或者使用JSP的应用服务器上的JSP引擎执行。JSP引擎接受客户端对JSP页面的请求,并且生成JSP页面作为对客户端的响应。

JSP页面通常被编译成为JavaServlets,这是一个标准的Java扩展。页面开发人员能够访问全部的Java应用环境,以利用Java技术的扩展性和可移植性。当JSP页面第一次被调用时,如果它还不存在,就会被编译成为一个JavaServlets类.并且存储在服务器的内存中。这就使得在接下来的对该页面的调用中,服务器会有非常快的响应(这避免了CGI—BIN为每个HTrP请求生成一个新的进程的问题)。

Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与JavaServlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理。然后将生成的HTML页面返回给客户端的浏览器。JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。6.3JSP技术的优势

1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。

2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意

环境中进行系统部署,在任意环境中扩展。相比ASP伊HP的局限性是显而易见的。

3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。

4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。6.4JSP技术的劣势

1)Java的一些优势正是它致命的问题所在:正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大地增加了产品的复杂性。

2)Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格“比”了。

由上五种技术CGI、ASP、PHP、JSP、ASP.NET的分析可见,每一种技术都其优点与缺点,它们分别适用于不同需求的网站开发,掌握不同技术的人员在网站开发技术方面也会有不同的选择。

参考文献:

1.唐友国JSP网站开发详解2008

2.何晓霞;杨立峰PHP+MySQL网站开发技术与典型案例导航20083.密君英ASP.NET动态网站开发技术实用教程20094.韩殿元ASP动态网站开发技术与应用20075.期刊荣誉:ASPT来源刊,CJFD收录刊

因篇幅问题不能全部显示,请点此查看更多更全内容

Top