转!!常用的4种动态网页技术—CGI、ASP、JSP、PHP
1.CGI
CGI(Common Gateway Interface,公用网关接口)是较早用来建立动态网页的技术。当客户端向Web服务器上指定的CGI程序发出请求时,Web服务器会启动一个新的进程执行某些CGI程序,程序执行后将结果以网页的形式再发送回客户端。
CGI的优点是它可以用很多语言编写,如 C 、C++ 、VB和Perl语言。在语言的选择上有很大的灵活性。最常用的CGI开发语言为Perl。
CGI的主要缺点是维护复杂,运行效率也比较低。这主要由以下几方法原因造成:
CGI程序以独立的进程运行,当多个用户要与服务器建立连接时,服务器需要为每个用户响应创建一个CGI程序进程。
CGI程序不是常驻内存的,因此,当频繁访问CGI程序时,会导致大量的磁盘I/O操作。
编写访问数据库的程序比较复杂。
2.PHP
PHP(Personal Home Pages)是一种服务器端的嵌入HTML的脚本语言,可以 运行于多种平台。它借鉴C语言、Java语言和Perl语言的语法,同时具有自己独特的语法。
由于PHP采用Open Source方式,它的源代码公开,使得它可以不断有新东西加入,形成庞大的函数库,以实现更多的功能。PHP几乎支持现在所有的数据库。
PHP的缺点是没有像JSP和ASP那样对组件的支持,扩展性较差。
3.JSP
JSP(Java Server Pages)是基于Java的技术,用于创建可支持跨平台及跨Web服务器的动态网页。JSP与服务器端的脚本语言JavaScript不一样。JSP是在传统的静态页面中加入Java程序片段和JSP标记,构成JSP页面,然后再由服务器编译和执行。
JSP主要的优点如下:
JSP支持绝大部分平台,包括Linux系统,Apache服务器也提供了对JSP的服务,使得JSP可以跨平台运行。
JSP支持组件技术,可以使用JavaBeans开发具有针对性的组件,然后添加到JSP中以增加其功能。
作为Java开发平台的一部分,JSP具有Java的所有优点,这包括“一次编写,处处运行”。
JSP的主要缺点是编写JSP程序时比较复杂,开发人员往往需要对Java及其相关的技术比较了解。
4.ASP
ASP(Active Server Pages)是微软公司提供的开发动态网页的技术,具有开发简单、功能强大等优点,ASP使生成Web动态内容及构造功能强大的Web应用程序的工作变得十分简单。例如,要收集表单中的数据时,只需要将一些简单的指令嵌入到HTML文件中,就可以从表单中收集数据并进行分析处理。对于ASP,还可以便捷地使用ActiveX组件来执行复杂的任务,比如连接数据库以检索和存储信息。
对于有经验的程序开发人员,如果已经掌握了一门脚本语言,如VBScript、JavaScript或Perl,而且已经了解使用ASP的方法。只要安装了符合ActiveX脚本标准的相应引擎,就可以在ASP页中使用任何一种脚本语言。ASP自身带有VBScript和JavaScript两种脚本引擎。从软件的技术层面看,ASP有如下的特点:
无需编译 ASP脚本嵌入到HTML当中,无需编译或链接即可直接解释执行。
易于生成 使用常规文本编辑器(如Windows下的记事本)即可进行ASP页面的设计。
独立于浏览器 用户端只要使用可解释常规HTML代码的浏览器,即可浏览ASP所设计的主页。ASP脚本是在站点服务器端执行的,用户端的浏览器不需要支持它。因此,不需要通过从服务器下载ASP页面。
面向对象 在ASP脚本中可以方便地引用系统组件和ASP的内置组件,还能通过定制 ActiveX服务器组件来扩充功能。
与任何ActiveX脚本语言兼容 除了可使用VBScript和JavaScript进行设计外,还可通过Plug-in的方式,使用由第三方所提供的其他脚本语言。
源程序码不会外漏 ASP脚本在服务器上执行,传到用户浏览器的只是ASP执行结果所生成的常规HTML码,这样可保证编写出来的程序代码不会外漏。
转!!常用的4种动态网页技术—CGI、ASP、JSP、PHP的更多相关文章
- 动态网站技术CGI
递信息的规程.CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静三种主流的动态网站技术: ASP JSP PHP 除之外,此还要了解的动态网站技术 ...
- 动态网页技术---JSP
JSP(全称JavaServer Pages)是由Sun Microsystems公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成HTML.XML或其他格式文档的Web网 ...
- iOS中常用的四种数据持久化技术
iOS中的数据持久化方式,基本上有以下四种:属性列表 对象归档 SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 [NSUserDefaults st ...
- 第一章使用JSP/Server技术开发新闻发布系统第一章动态网页开发基础
一:为什么需要动态网页 由于静态网页的内容是固定的,不能提供个性化和定制化得服务,使用动态网页可真正地与用户实现互动. 二:什么是动态网页 ①:动态网页是指在服务器端运行的,使用程序语言设 ...
- 使用JSP/Servalet技术开发新闻发布系统------动态网页开发基础
什么是动态网页? 动态网页是指在服务器端运行的程序或者网页,它们会随不同客户.不同时间,返回不同的网页. 动态网页的特点? (1).交互性:即网页会根据用户的要求和选择而动态改变和响应.采用动态网页技 ...
- Java Web开发技术教程入门-初识动态网页
这段时间学校搞了一个"阅战阅勇"的阅读活动,奖品还是挺丰富的~于是,奔着这些奖品,我去图书馆借了这本<Java Web开发技术教程>.一是为了那些丰富的奖品,二是为了回 ...
- java网页技术
About jQuery Getting started with jQuery can be easy or challenging, depending on your experience wi ...
- 动态页面技术之JSP
1.什么是JSP技术 JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导.许多公司参与一起 ...
- JSP/Servlet开发——第一章 动态网页基础
1.动态网页:在服务端运行的使用程序语言设计的交互网页 : ●动态网站并不是指具有动画功能的网站,而是指网站内容可根据不同情况动态变更的网站(股票网站),一般情况下动态网站通过数据库进行架构. ●动态 ...
随机推荐
- vc6
适合win7使用的: http://pan.baidu.com/s/1nt7SG57
- linux后台开发排错常用工具
一.前言 二.工具介绍 1.ps 查看进程信息 2.gstack 查看进程堆栈 3.pmap 查看程序分配的内存 4.ldd 查看程序用到的动态链接库 5.strace 用来跟踪和监视程序的每一个系统 ...
- Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) A
Description You are given names of two days of the week. Please, determine whether it is possible th ...
- SpringMVC拦截器2(资源和权限管理)(作为补充说明)
SpringMVC拦截器(资源和权限管理) 1.DispatcherServlet SpringMVC具有统一的入口DispatcherServlet,所有的请求都通过DispatcherServle ...
- reason: -[UIKBBlurredKeyView candidateList]: unrecognized selector sent to instance
reason: -[UIKBBlurredKeyView candidateList]: unrecognized selector sent to instance 发现上线的app一直会有这个cr ...
- Python3基础 大于一个数的同时小于一个数
镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...
- js对字符串的操作
js对字符串的操作 concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串. indexOf() – 返回字符串中一个子串第一处出现的索引.如果没有匹配项,返回 -1 . charA ...
- CG绘画笔记
看一些比较好的作品:看作品哪些部分,部件,盔甲比较吸引人,提取一个比较好的点,进行组合创作. 逆光.切光布局构图 创作:故事.情感.经历.朋友.时代 灵感: 电影.音乐 变化(色彩)透视 空气透视视觉 ...
- freebsd镜像作用和vmware服务开启
第一个是可以引导的光盘,只能引导系统,通常用于网络安装.基本没用.第二个是系统光盘的第一张.用这张就可以安装一个基本的系统.其他的软件,在系统安装完之后安装.第三个是系统盘的DVD版本.包括的软件比上 ...
- CUBRID学习笔记 41 sql语法之groupby 等
cubrid的中sql查询语法groupby GROUP BY ... HAVING Clause 按dept_no分组 SELECT dept_no, avg(sales_amount) FROM ...