设为首页 收藏本站
查看: 673|回复: 0

[经验分享] CGI、ASP、PHP、JSP、 ASP.NET网站开发语言比较

[复制链接]

尚未签到

发表于 2018-12-12 07:51:22 | 显示全部楼层 |阅读模式
  本文转载自:http://www.itdaan.com/blog/2018/04/27/f29f80ebf3df57a1044c9ac4913d0ca.html
  一、主流网站开发语言的简介及优缺点。
  现在主流的网站开发语言主要包括cgi、asp、php、asp.net、jsp等。
  HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持。
  (一)  网站开发语言之ASP:
  ASP(Active Server Pages)是微软平台下的动态网页技术.Microsoft提出的ASP概念,使设计交互式Web页面的技术有了长足的进步。它采用了三层计算结构,将Web服务器(逻辑层),客户端浏览器(表示层)以及数据库服务器(数据层)分开,具有良好的扩充性。
  ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。
  ASP是和平台相关的,只能运行在Windows平台上。而Unix的健壮性和Linux的源码开放性使它们广泛地应用在网站服务器中,相比之下,ASP的平台相关性大大制约了它的应用。
  (二)  主流网站开发语言之PHP:
  PHP(Personal Home Pages)是一种服务器端的嵌入HTML的脚本语言,可以运行于多种平台。借鉴了C语言,Java语言和Perl语言的语法,同时具有自己独特的语法。
  由于PHP采用Open Source方式,它的源代码完全公开,使得它可以不断有新的东西加进来,形成庞大的函数库,以至实现更多的功能。PHP在数据库支持方面做得非常好,它能支持现在几乎所有的数据库。
  PHP的缺点就是没有像JSP和ASP那样对组件的支持,扩展性较差。Personal Home Pages,顾名思义,只能适应中小流量的网站。
  (三)主流网站开发语言之JSP:
  JSP的全称是Java Server Pages,它是SUN推出的一种动态网页技术标准。它在传统的静态页面文件(*.html,*.htm)中加入Java程序片段和JSP标记,就构成了JSP页面。
  JSP支持绝大部分平台,包括现在非常流行的Linux系统,应用非常广泛的Apache服务器也提供了支持JSP的服务。 组件的开发和使用很方便
  ASP的组件是由C++,VB等语言开发的,并需要注册才能使用;而JSP的组件是用Java开发的,可以直接使用。JavaBeans的使用也很方便,又由于Java的跨平台性,也使得Javabeans的可移植性和可重用性非常高。
  一次编写,处处运行(Write once,Run everywhere)
  作为Java开发平台的一部分,JSP具有Java的所有优点,包括Write once,Run everywhere。
  所有这些都显示了JSP强大的功能。但由于它出现得比较晚,在某些方面还不够规范。
  (四)主流网站开发语言之CGI:
  CGI就是公共网关接口 (Common Gateway Interface) 的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等,但是目前在CGI 中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi 。
  CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。
  由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。
  二、比较一下ASP、ASP.net、JSP和PHP的优点和缺点:
  (一)ASP
  优点:1. 无需编译
  2. 易于生成
  3. 独立于浏览器
  4. 面向对象
  5. 与任何ActiveX scripting 语言兼容
  6. 源程序码不会外漏
  缺点:
  1、Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性都会因为与NT的捆绑而显现出来。
  2、ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于Windows NT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部***就可以取得相当高的权限而导致网站瘫痪或者数据丢失。
  3、由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况。
  4、无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的。
  5、还无法完全实现一些企业级的功能:完全的集群、负载均横。
  (二)JSP
  优点:
  1、一处编写随处运行。
  2、系统的多台平支持。
  3、强大的的可伸缩性。
  4、多样化和功能强大的开发工具支持。
  缺点:
  1、与ASP一样,Java的一些优势正是它致命的问题所在。
  2、缺少系统性的资料。
  3、速度超慢
  (三)PHP
  优点:
  1、一种能快速学习、跨平台、有良好数据库交互能力的开发语言。
  2、简单轻便,易学易用。
  3、与Apache及其它扩展库结合紧密。
  4、良好的安全性。
  缺点:
  1、数据库支持的极大变化。
  2、不适合应用于大型电子商务站点
  3、安装复杂。
  4、缺少正规的商业支持。
  5、无法实现商品化应用的开发。
  (四)CGI
  优点:
  1、它可以用很多种语言编写,比如C,C++,VB和Perl语言,在选择上有很大的灵活性.目前大多使用Perl编写CGI.
  缺点:
  2、是维护复杂,运行效率低下,主要表现在以下几个方面:
  (1)CGI程序是以独立的进程方式运行的,这样,当用户访问数量增大时,会严重地损耗系统资源,大幅度地降低系统性能.
  (2)CGI程序不是常驻内存的,因此,当用户频繁访问CGI程序时,会导致大量的磁盘操作,从而造成系统性能的下降.
  (3)访问数据库的程序不容易编写.
  由于CGI程序存在上述缺点,因此,随后又出现了FastCGI技术,它在CGI的基础上进行了一些改进,将CGI程序常驻在内存中,使得系统性能有了改善,但是,在大量用户访问时,它仍然会消耗过多的内存资源。
  三、主流的Web服务器软件
  如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持 PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台,但是众所周知,Windows以易用而出名,也因此占据不少的服务器市场。
  我们常用的开发组合:
  IIS环境下
  1.ASP+ACCESS
  2.ASP+SQL SERVER
  3.ASP.NET+ACCESS
  4.ASP.NET+SQL SERVER
  APACHE环境下
  5.jsp+Oracale
  6.JSP+MYSQL
  7.PHP+MYSQL(一)
  ASP,PHP,JSP,ASP.NET 这是当前比较流行的四种WEB网站编程语言,现在做网站大部分都是使用这几种语言中的其一 .
  (一)ASP是基于WINDOWS平台的,简单易用,由于是运行在WINDOWS平台上,所以移植性不好,不能跨平台运行.但是国内现在大部分的网站都是使用它来开发的.
  (二)PHP是当前兴起备受推崇的一种WEB编程语言,开源且跨平台,在欧美都比较的流行,最近在国内也很受许多网站开发者的欢迎.开发效率高,成本低!
  (三)JSP是了SUN公司推出的一种网络编程语言,比较难学(是网上公认的),跨平台运行.安全性比较高,运行效率也比较的快.备受企业级的公司及银行金融机构使用.
  主流网站开发语言之ASP.NET从某种意义上说应该是ASP版本的升级,但是它又不完全是从(四)ASP上升级来的,ASP.NET的推出是微软为了与 SUN公司的JSP在网络上的迅猛发展抵抗的,.NET架构现在有许多人都在学习,主要是开发的效率比较的高.但是还是基于WIN平台运行,不能跨平台.
  可以说,asp确实快过时了,在未来jsp和asp.net将会有巨大的潜力,但php凭借其开源的特性也会占有一定份额,并且现在国内外多数网站都是用php,说明其优越性已经得到了相当的考验.
  vb一般指vb6.0,是传统的win32编程。vb.net和asp.net是基于微软.net平台的语言。
  说java好主要是因为java的j2ee部分做企业级开发很强大,而且跨平台 。
  c#是.net平台上最好用的语言,现在只能运行在windows系统。
  web开发方面.net和j2ee的竞争很激烈,难说以后鹿死谁手。
  现在做网站大部分都是asp.net或jsp的,asp.net容易上手,比较普及,但是平台单一,jsp虽然上手难,但是跨平台,安全性高
  大型网站很少有用windows系统的。
  http://blog.sina.com.cn/s/blog_6c8d8f7001016i2k.html
  ===========================================================
  http://www.cnblogs.com/duncannjm/articles/1686698.html
  表8-1  四种后台语言的性能比较
  后台界面
  CGI
  ASP(不含ASP.net)
  PHP
  JSP/Servlet
  操作系统
  几乎所有
  Win32
  几乎所有
  几乎所有
  (续表)
  后台界面
  CGI
  ASP(不含ASP.net)
  PHP
  JSP/Servlet
  服务器
  几乎所有
  IIS
  非常多
  非常多
  执行效率
  慢
  快
  很快
  极快
  稳定性
  高
  中等
  高
  非常高
  开发时间
  长
  短
  短
  中等
  修改时间
  长
  短
  短
  中等
  程序语言
  不限,几乎所有
  VB
  PHP
  目前仅支持Java
  网页结合
  差
  优
  优
  优
  学习门槛
  高
  低
  低
  较高
  函数支持
  不定
  少
  多
  多
  系统安全
  佳
  低
  佳
  极佳
  使用网站
  多
  多
  超多
  目前一般
  更新速度
  无
  慢
  快
  较慢


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-650296-1-1.html 上篇帖子: php编程之短信发送接口调用流程的实现 下篇帖子: php将xml转换为数组
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表