1、主流网站开发语言的简介及优缺点。php
如今主流的网站开发语言主要包括cgi、asp、php、asp.net、jsp等。html
HTML:固然这是网页最基本的语言,每个服务器语言都须要它的支持。java
(一) 网站开发语言之ASP:web
ASP(Active Server Pages)是微软平台下的动态网页技术.Microsoft提出的ASP概念,使设计交互式Web页面的技术有了长足的进步。它采用了三层计算结构,将Web服务器(逻辑层),客户端浏览器(表示层)以及数据库服务器(数据层)分开,具备良好的扩充性。数据库
ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。编程
ASP是和平台相关的,只能运行在Windows平台上。而Unix的健壮性和Linux的源码开放性使它们普遍地应用在网站服务器中,相比之下,ASP的平台相关性大大制约了它的应用。c#
(二) 主流网站开发语言之PHP:windows
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方式不适合大访问量的应用。
2、比较一下ASP、ASP.net、JSP和PHP的优势和缺点:
(一)ASP
优势:1. 无需编译
2. 易于生成
3. 独立于浏览器
4. 面向对象
5. 与任何ActiveX scripting 语言兼容
6. 源程序码不会外漏
缺点:
一、Windows自己的全部问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性都会由于与NT的捆绑而显现出来。
二、ASP因为使用了COM组件因此它会变的十分强大,可是这样的强大因为Windows NT系统最初的设计问题而会引起大量的安全问题。只要在这样的组件或是操做中一不注意,哪么外部攻击就能够取得至关高的权限而致使网站瘫痪或者数据丢失。
三、因为ASP仍是一种Script语言所没除了大量使用组件外,没有办法提升其工做效率。它必须面对即时编绎的时间考验,同时咱们还不知其背后的组件会是一个什么样的情况。
四、没法实现跨操做系统的应用。固然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。但是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的。
五、还没法彻底实现一些企业级的功能:彻底的集群、负载均横。
(二)JSP
优势:
一、一处编写随处运行。
二、系统的多台平支持。
三、强大的的可伸缩性。
四、多样化和功能强大的开发工具支持。
缺点:
一、与ASP同样,Java的一些优点正是它致命的问题所在。
二、缺乏系统性的资料。
三、速度超慢
(三)PHP
优势:
一、一种能快速学习、跨平台、有良好数据库交互能力的开发语言。
二、简单轻便,易学易用。
三、与Apache及其它扩展库结合紧密。
四、良好的安全性。
缺点:
一、数据库支持的极大变化。
二、不适合应用于大型电子商务站点
三、安装复杂。
四、缺乏正规的商业支持。
五、没法实现商品化应用的开发。
(四)CGI
优势:
一、它能够用不少种语言编写,好比C,C++,VB和Perl语言,在选择上有很大的灵活性.目前大多使用Perl编写CGI.
缺点:
二、是维护复杂,运行效率低下,主要表如今如下几个方面:
(1)CGI程序是以独立的进程方式运行的,这样,当用户访问数量增大时,会严重地损耗系统资源,大幅度地下降系统性能.
(2)CGI程序不是常驻内存的,所以,当用户频繁访问CGI程序时,会致使大量的磁盘操做,从而形成系统性能的降低.
(3)访问数据库的程序不容易编写.
因为CGI程序存在上述缺点,所以,随后又出现了FastCGI技术,它在CGI的基础上进行了一些改进,将CGI程序常驻在内存中,使得系统性能有了改善,可是,在大量用户访问时,它仍然会消耗过多的内存资源。
3、主流的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 |
网页结合 |
差 |
优 |
优 |
优 |
学习门槛 |
高 |
低 |
低 |
较高 |
函数支持 |
不定 |
少 |
多 |
多 |
系统安全 |
佳 |
低 |
佳 |
极佳 |
使用网站 |
多 |
多 |
超多 |
目前通常 |
更新速度 |
无 |
慢 |
快 |
较慢 |