动态网站和静态网站的比较
2023-04-03 · 百度认证:重庆猪八戒网络有限公司官方账号
静态页面与动态页面
在网站建设发展的初期,人们全部使用HTML语言设计网页。这些简单的HTML文档在被手工编辑完成之后保存在与INTERNET相连接的计算机内,任何连入互联网的用户都可以访问其中的信息,这种形式的页面被称做静态页面。由于HTML采用了超文本链接的方式,因此访问者可以很方便的从一个页面跳转到另一个页面,实现非线性浏览。正是由于这种全新的,更加合理、便捷的信息查询方式,促成了WEB空前快速的发展。
随着互联网技术的不断发展以及网上信息呈几何级的增加,人们逐渐发现手工编写包含所有信息和内容的页面对人力和物力都是一种极大的浪费,而且几乎已经变的难以实现。此外,采用静态页面方式建立起来的站点只能够简单的根据用户的请求传送现有页面,而无法实现各种动态的交互功能。具体来说,静态页面在以下几个方面都存在明显的不足:
.无法支持后台数据库。随着网上信息量的增加,以及企业和个人希望通过网络发布产品和信息的需求的增强,人们越来越需要一种能够通过简单的WEB页面访问服务端后台数据库的方式。这是静态页面所远远不能实现的。
.无法有效的对站点信息进行及时的更新。用户如果希望对传统静态页面的内容和信息进行更新或修改的话,只能够采用逐一更改每个页面的方式。在互联网发展初期网上信息较少的时代,这种做法还是可以接受的。但是现在即使是网友们的个人站点也包含着各种各样的丰富内容,因此,如何及时、有效的更新页面信息也成为一个急待解决的问题。
.无法实现动态显示效果。所有的静态页面都是事先编写好的,是一成不变的,因此访问同一页面的用户看到的都将只是相同的内容,静态页面无法根据不同的用户做不同的页面显示。
为了克服静态页面的种种不足,人们将传统单机环境下的编程技术引入互联网络与WEB技术相结合,从而形成新的网络编程技术。网络编程技术通过在传统的静态页面中加入各种程序和逻辑控制,在网络的客户端和服务端实现了动态和个性化的交流与互动。人们将这种使用网络编程技术创建的页面称为动态页面。
虽然开发Web应用程序的编程语言工具越来越多,而且功能越来越强,使用上也越来越简单,比如说现在流行的ASP(ActiveServerPages)PHP等等。但作为老前辈的CGI(通用网关接口)方式的接口程序依然在这种服务器/客户端交互的Web应用程序中占主要地位。下面分别说一下ASP和PHP。
网络编程技术的运行和实现机制
网络编程技术一般都是采用脚本语言作为编程语言。脚本语言具有和传统的编程语言相似的语法结构和风格,只是为了方便网络应用程序的设计,对传统的编程语言,如C,VC,VB等进行了简化。例如,脚本语言允许用户在使用变量之前不需要声明变量类型,变量类型直接由变量值决定,并且在使用过程中可以自由更改变量类型。
脚本语言的另外一个显著特点就是可以结合HTML语言共同使用。脚本语言与HTML语言具有非常好的兼容性,使用者可以直接在脚本代码中加入HTML标签,或者在HTML标签中加入脚本代码从而更好的实现页面控制,提供更加丰富的功能。举一个最为简单的例子,我们使用PHP结合HTML可以实现如下输出:
<?
$name=John
PRINT“<CENTER>”;
PRINT“Hello!$name”;
PRINT“<BR>”;
PRINT“WelcometothewonderfulworldofServer_SideProgramming!”;
PRINT“</CENTER>”;
?>
上述代码的输出结果为:
Hello!John
WelcometothewonderfulworldofServer_SideProgramming!
为了区分同一页面中的脚本代码和HTML代码,不同的网络编程技术采用的了不同的定界符将脚本代码包含在各自的定界符内。例如,ASP代码使用的定界符为“<%%>”,PHP使用的定界符为“<??>”。COLDFUSION比较特殊,使用一种具有HTML标签风格的CFML技术,拥护自己特殊的标签,如“<cfoutput></cfoutput>”等。此外,使用不同网络编程技术编写的WEB页面都具有各自不同的后缀名。例如,ASP页面的后缀名为“.asp”,PHP页面的后缀名为“.php3”,COLDFUSION页面的后缀名“.cfm”。
与后缀名为“.html”或“.htm”的HTML页面一样,使用不同技术编写的动态页面也被保存在WEB服务器内。当客户端用户向WEB服务器发出访问动态页面的请求时,WEB服务器将根据用户所访问页面的后缀名确定该页面所使用的网络编程技术,然后把该页面提交给相应的解释引擎;解释引擎扫描整个页面找到特定的定界符,并执行位于定界符内的脚本代码以实现不同的功能,如访问数据库,发送电子邮件,执行算术或逻辑运算等,最后把执行结果返回WEB服务器;最终,WEB服务器把解释引擎的执行结果连同页面上的HTML内容以及各种客户端脚本一同传送到客户端。虽然,客户端用户所接收到的页面与传统页面并没有任何区别,但是,实际上页面内容已经经过了服务端处理,完成了动态的个性化设置。
ASP
ASP(ActiveServerPages,即动态服务器页面)是由微软公司推出的一种网络编程技术。准确的说,ASP不能算做是一种编程语言,因为ASP没有提供自己专门的编程语言,而是允许用户使用包括VBSCRIPT,JAVASCRIPT等在内的许多已有的脚本语言编写ASP的应用程序。因此,ASP实际上应当是一种脚本语言的服务端编写环境。
ASP默认的脚本编写语言为VBSCRIPT,但是用户可以根据自己的需要进行选择。只要用户安装了相应的脚本引擎,就可以使用几乎目前所有流行的脚本语言编写ASP应用程序。
ASP吸收了当今许多流行的技术,如IIS,ACTIVEX,VBSCRIPT,ODBC等,是一种发展较为成熟的网络应用程序开发技术。借助于与微软传统产品良好的兼容性以及自身易学易用的特点,ASP一经出现就逐渐占据了网络编程技术的主流地位。
ASP的核心技术是对组件和对象技术的充分支持。通过使用ASP的组件和对象技术,用户可以直接使用ActiveX控件,调用对象方法和属性,以简单的方式实现强大的功能。
ASP中最为常用的对象和组件如下:
对象:
Request对象:可以通过表单,cookies,用户验证信息以及语言的风格,用户完全可以象使用HTML标签一样使用功能强大,简单直观的CFML标签来完成各种复杂的操作。COLDFUSION为方便用户的使用,不仅提供了数量众多的功能标签,而且允许用户根据自己的需要创建并使用各种的定制标签。可以说,只要掌握了各种CFML标签,也就等于掌握了COLDFUSION技术的精髓。
举例来说,如果用户希望通过COLDFUSION技术发送电子邮件的话,只要使用<CFMAIL>标签即可。具体如下:
<CFMAIL
TO=“recipient1@address,recipient2@address”
FROM=“sender@address”
CC=“recipient3@address”
SUBJECT=“theme”>
</CFMAIL>
除了可以用于发送电子邮件的<CFMAIL>标签外,COLDFUSION中较为常用的标签还有:
<CFQUERY>标签:用于设定数据库DNS,执行SQL语句。
<CFINPUT>标签:用于数据的输入,此外还可以提供对所输入数值有效性的验证。
<CFOUTPUT>标签:用于数值,字符串,表达式等的输出。
<CFIF>和<CFELSE>标签:分别相当于传统编程语言中的IF和ELSE,用于控制程序流程。
PHP
PHP(HypertextPreprocessor,即超文本预处理器)是当今INTERNET上最为火热的脚本语言。PHP最初由RasmusLerdorf发明,后来又经过一个六人小组重新编写,发展到现在最新版本为PHP4.0BETA3。
PHP在很大程度上综合了Perl,Java和C语言的精华,在语法架构上继承了C语言的风格。作为一种新的脚本语言,PHP在确保易学易用的基础上,能够提供各种强大的功能。不同于其它网络编程技术,PHP象LINUX,PERL一样,是一种自由软件。这就使得PHP更加灵活,人们可以不断的为PHP增加新的功能,从而使PHP永远走在同类技术的前端。
相对于ASP,COLDFUSION等其它网络编程技术,PHP本身就是一种脚本语言,所以,如果用户希望真正掌握PHP,就应当把学习重点放在熟悉和掌握PHP的语法结构和功能上。
举例来说,使用PHP实现一个简单的逻辑判断的过程如下:
if($user_count>200){
print“Thesiteisbusyrightnow!”;}
elseif($user_count>100){
print“Thesiteisactiverightnow!”;
else{
print“Thesiteislonely-only$user_countuserloggedon.”;
}
编写:
记事本,写字版,dreamweaver都可以。
现在这里的网页是动态网页。
动态页面一般要使用数据库。