作
者 : 祥子
现在很多网页上的内容还是静态的,若无外来干预,其内容不会自动改变。一般都是由网页制作者定期制作好或更新好一批网页,放到网站上供用户浏览。编制网页花费了制作者大量的时间与精力,有没有办法花费较少的时间与精力,使网页更新及时、内容丰富多彩呢?
答案是肯定的,这就是网页的动态内容技术。
所谓动态内容是由每一个用户按照自己的需求发出请求而特殊制作的Web网页,例如访问某一网站的新用户得到的欢迎词与重新返回到该站点的用户得到的欢迎词是不同的。它实际上就是通过一定的计算机语言编程,使计算机按照我们所希望的网页格式,产生出包含用户所需内容的网页,传送给用户浏览。例如在网上114查询时,我们先设定好查询条件,然后编程,把数据库返回的查询信息转化成网页形式。这样,用户每次查询时,服务器都会按查询条件自动生成不同的网页返回给不同的用户,建成后除定期更新
114数据库外,其他内容就不再需要人工干预了。动态内容技术有一条重要准则:凡是能够数据库化的内容,尽量做成数据库的形式,因为数据库形式的数据远比其它形式的数据要容易更新与管理,实践也已证明了这一点。
动态内容技术目前主要有两种:
CGI与 ASP。
1、
CGI (Common Gateway Interface)
通用网关接口CGI是Common
Gateway Interface 的简称。它是一种较老的技术,
其主要的功能是在WWW环境下,藉由从客户端传递一些讯息给WWW
Server,再由WWW Server
去启动所指定的程式码来完成特定的工作所以更明确的说,CGI仅是在WWW
Server上可执行的程式码,而她的工作就是控制讯息要求并且产生并传回所需的文件。
使用CGI,你的Server可以读取并显示在客户端无法读取的格式(像是SQL
DataBase) 。而且可以像闸道(Gateway)一样,在伺服端和客户端之间,产生客户端所需要的讯息。基本上,在此种主从式(Client/Server)的环境之下,其IPC(InterProcess
Communication)的协定是利用讯息传递及记忆体分享(环境变数)的方式来完成。CGI有其特定的写法及规格,必须遵守其原则,方可达到主从端资讯交流的目的。
(1)、
CGI的输入输出
CGI可以使用在很多方面,大部份是控制ISINDEX和FORM的需求,亦即ISINDEX和FORM
最常被使用作CGI的输入介面。但也有利用链结(LINK)的方式来呼叫所要执行的程式,通常是在使用者的资讯已固定,或是为达成某种单一目的而使用。而使用链结方式其程式执行所需的参数是以GET
METHOD的方式含在URL中传入,亦即CGI程式在发展时必须使用
GET METHOD
的方式来读取参数。在第四节,我们将会详细介绍传递参数的方法。
输出的部分则大部分是利用程式来产生虚拟文件,也就是文件并不是储存Server的储存媒体中,而是由程式建构出来的,浏览程式结束之後文件即不再存在。大部分的文件格式是超本文标示语言(HTML)或是文字档。也有利用程式链结到另一份文件,或是只记录使用者输入资讯而不做输出!
常见输入输出的例子∶
转换您的系统参考手册变成超本文标示语言(HTML)的格式,接著将结果送给客户端。当做WAIS和ARCHIE资料库的界面,将结果转成超本文标示语言(HTML)的格式送给客户端。
允许使用者透过HTML FORM和附加的CGI解码来回给你的Server。
(2)、CGI可用的程式语言 至於CGI要使用何种程式语言来达成?从前面的说明可以知道,CGI仅是在WWW
Server上可执行的程式码。是故,只要是您的WWW Server以及WWW
Server所在的作业系统可执行的程式语言皆能使用在CGI上。以下列出几种较常在CGI中使用的语言∶
C/C++
PERL
THE BOURNE SHELL
THE C SHELL
TCL
Visual Basic
AppleScript
这些程式在完成之後要放置於何处?事实上,不同的WWW
Server有不同的规定。以HTTPS 为例,她只执行副档名为EXE的执行档,且程式不能为图形介面(GUI)的程式。而程式只置在指定文件的树状目录中任一位置即可。但是值得注意的是,大部分的
WWW Server尤 其是UNIX上的WWW Server,都将CGI程式放置在一共同的指定目录之下。
由于这几种语言都很专业,而且很复杂,所以编制和修改CGI程序的人工成本很高,而且CGI程序每碰到一个用户请求,都会启动一个新的进程去处理事件,在用户访问的高峰期,大量的进程会耗费掉大量的系统资源,网站就会表现出响应时间延长、处理缓慢的情况。
2.
ASP (Active Server Pages)
ASP中文译作"动态服务器网页"是由
Microsoft 公司开发的新技术,目前只能使用在Windows NT平台上,由于NT平台市场占有率的迅速增长和ASP技术的先进性,ASP技术正逐步开始流行起来。利用它可以编写和运行动态、交互、高效率的Web服务应用程序。ASP
具有如下特点:
(1)、编程简单 ASP使用Script(描述性的语言),只使用简单的英语和简单的数学表达式,而且不需要编译,微软还提供了功能强大的调测器
Microsoft Script Debugger,使它的编写与修改都非常容易。ASP
还附带了一些常用的功能组件,如访问人数的计数器,网上广告的播放器,获得用户所使用浏览器版本号的信息收集器,判断用户对某个特定文件是否有权的检查器等等。
(2)、 管理方便 Script都嵌在网页语言HTML 内,使Script与HTML的开发一次性完成,管理起来很方便。CGI程序与HTML是分离的,而且CGI程序的开发与HTML的编写是两个完全不同的过程。
(3)、 支持广泛 ASP除支持VBScript、JavaScript,还能以插件的形式支持第三方的语言,如PERL、TCL等。
ASP通过后缀名为.asp的文件实现,一个.asp文件是一个文本文件,可以包括下列元素的任意组合:
·
文本(text);
·
HTML标志(tags);
·
Script命令.Script嵌入HTML内的定界符是 <% 与 %>
。
举个最简单的例子:
服务器上存在一个.asp文件:"当前时间.asp",
其中只包含一条最简单的script语句 <% =NOW %>
,当用户浏览器向服务器软件 IIS (Internet Informat ion Server)请求"当前时间.asp"文件时,IIS
就把它打开,截去取其中的 <%......%>
语句传给asp.exe这个Script 解释器处理。asp.exe
得出运行结果: 1998/8/15 10:30:15 AM并把它嵌入到原来Script语句的位置上,IIS
再负责把这个文件传给用户。这时在用户的浏览器上显示的就是
1998/8/15 10:30:15 AM 。当然,在不同的时间访问这个文件会有不同的显示结果。
由于开发ASP需要编程,往往使初学者望而却步。但ASP作为一种动态主页技术又有那么多的优越性,到底有没有一种方法让初学者也能制作ASP主页呢?其实最常见的所见即所得网页工具FrontPage98,其内部就提供了对ASP的支持,我们可以不必编程只要写几句SQL语句,就能快速生成与后台数据库接口的ASP页,让初学者也过一把ASP瘾!
|