转!!常用的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.动态网页:在服务端运行的使用程序语言设计的交互网页 : ●动态网站并不是指具有动画功能的网站,而是指网站内容可根据不同情况动态变更的网站(股票网站),一般情况下动态网站通过数据库进行架构. ●动态 ...
随机推荐
- Network 分类: POJ 图论 2015-07-27 17:18 17人阅读 评论(0) 收藏
Network Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 14721 Accepted: 5777 Special Judg ...
- Python 2.7.9 Demo - isinstance
#coding=utf-8 #!/usr/bin/python a = 'abc'; print isinstance(a, str);
- afxmessagebox和messagebox
MessageBox()是Win32API函数.后者是mfc中的全局函数.在MFC中能用MessageBox()的地方都能用AfxMessageBox(). afxmessagebox更多的时候是用于 ...
- 窗口移动--基类(BaseForm)
#region 窗口移动 private bool _isLeftButtonDown = false; public const int HTCAPTION = 0x0002; protected ...
- c# SendMail
using System; using System.Collections.Generic; using System.Net; using System.Net.Mail; using Syste ...
- UVA 10163 十六 Storage Keepers
十六 Storage Keepers Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit ...
- CCNA training notes
5/29: vlan:virtual lan, 通过PVID来将物理上连通的host/PC划分到不同的局域网. switch的每个port有access与trunk两种mode,trunk模式的por ...
- 4、Type fundamentals
1.All Types Are Derived from System.Object The CLR requires all objects to be created using the new ...
- 通过EasyUI Tree说明SQL GUID和自增列ID的使用场景
最新在开发中用到了EasyUI里面的Tree,通过API可以看到这个Tree的数据格式如下: 其中ID比较重要,API也说了,最开始我考虑到GUID比自增ID多占用了一些空间,所以采用的自增ID,测试 ...
- C# 模拟鼠标写字
经常看到别人拿个四四方方的写字板用笔写字,用C#其实也可以实现,大致思路就是处理鼠标的坐标和Graphics, 代码如下: 首先声明两个全局变量 bool isMouseDown = false; P ...