静态网站和动态网站的区别,以及动态网站是怎么实现的?
2023-04-03 · 百度认证:重庆猪八戒网络有限公司官方账号
动态网页的一般特点简要归纳如下:
(1)动态网页以数据库技术为基础,可以大大降低网站维护的工作量;
(3)动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页;
(4)动态网页中的“?”对搜索引擎检索存在一定的问题,搜索引擎一般不可能从一个网站的数据库中访问全部网页,或者出于技术方面的考虑,搜索蜘蛛不去抓取网址中“?”后面的内容,因此采用动态网页的网站在进行搜索引擎推广时需要做一定的技术处理才能适应搜索引擎的要求
什么是静态网页?静态网页有哪些特点?
在网站设计中,纯粹HTML格式的网页通常被称为“静态网页”,早期的网站一般都是由静态网页制作的。
也就是以.htm、.html、.shtml、.xml等为后后缀的。在HTML格式的网页上,也可以出现各种动态的效果,如.GIF格式的动画、FLASH、滚动字母等,这些“动态效果”只是视觉上的,与下面将要介绍的动态网页是不同的概念。
我们将静态网页的特点简要归纳如下:
(1)静态网页每个网页都有一个固定的URL,且网页URL以.htm、.html、.shtml等常见形式为后缀,而不含有“?”;
(2)网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页的内容都是保存在网站服务器上的,也就是说,静态网页是实实在在保存在服务器上的文件,每个网页都是一个独立的文件;
(3)静态网页的内容相对稳定,因此容易被搜索引擎检索;
(4)静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难;
(5)静态网页的交互性交叉,在功能方面有较大的限制
提起动态主页的制作,就不能不说到ASP动态网页技术。细心的读者会发现很多网站的文件是以*.asp结尾,那么这个ASP到底是什么,它与HTML有什么关系,又是如何工作的呢?不妨一起来看一看。
一、细说ASP
ASP是ActiveServerPages的简称,是微软开发的服务器端脚本环境,它内含于IIS或PWS中,提供一个用于服务器端脚本执行的环境,以此来实现动态交互的目的,这也是许多动态网页技术的共同特征。本章内容均围绕IIS来进行讲解,PWS的内容与此大致相同。
ASP的兴起似乎是“一夜之间”,到底它有什么“魔力“呢?
1.无须编译或链接即可执行,可集成于HTML代码中,有了它,可省去许多繁琐重复的劳动。
2.与浏览器无关:用户端只要使用可执行HTML代码的任何浏览器(例如IE、Netscape等),即可浏览由ASP所设计的主页内容。所有代码都是在服务器端执行,只要写好代码,工作服务器就能搞定一切。
3.可通过ActiveXServerComponents(ActiveX服务器组件)来扩充功能,而ActiveXServerComponent可使用VisualBasic、Java、VisualC++、COBOL等语言来实现,有了它就可随意扩展功能。更令人兴奋的是,现在网上有很多第三方组件可以随意下载,想要什么尽可去Search、去Download,然后放在你的ASP代码中调用就OK啦。
4.ASP与任何ActiveXScripting语言兼容。除了可使用VBScript或JavaScript语言来设计之外,还可通过Plug-in的方式,使用由第三方提供的例如REXX、Perl、Tcl等脚本语言,学过动态主页制作的人都知道它们的重要性。
5.ASP源程序代码不会在浏览过程中被下载到用户的浏览器中,也就是说它对你的代码进行了保密。太棒了,花了九牛二虎之力做好的东东可不能让别人轻轻点一下鼠标就拿走了。
ASP作为一种动态网页制作技术易学易用,很是让人心动。接下来我们就来看看ASP是如何工作的,一般来说,ASP文件由3个部分组成:
1.普通的HTML文本(也就是基本网页的内容)。
2.客户端的脚本代码(<script>与</script>之间的程序代码)。
3.服务端执行的程序代码(<%%>之间的程序代码)。
我们先来看一个简单的例子:
hello.asp
<%@language=VBScript%>
<html>
<head>
<title>每天不同时刻的问候语</title>
</head>
<body>
<%
dimsays
ifhour(now)<12then
says="早上好!"
else
ifhour(now)<18then
says="下午好!"
else
says="晚上好!"
endif
endif
%>
<h1><%=says%></h1><body>
</html>
结果怎么样呢?如果浏览者是早晨10点打开这个网页,将会看见“早上好!”的问侯语(图1),如果是下午14点进入,页面中则会出现“下午好!”。上面<%%>之间的程序由服务器来执行,而我们常用的脚本则是由客户端来执行。这个简单的例子包含了ASP的典型结构,并且强调了ASP的服务端执行,对于我们初学ASP有一定的参考意义。
ASP动态网页与普通的静态网页在显示上有很大不同,它整个的运行过程可分成以下几步:
第1步:用户在浏览器的网址栏中输入.asp文件名称,并回车触发这个ASP的请求。
第2步:浏览器将这个ActiveServerPages的请求发送给IIS。
第3步:IIS接收这个请求并根据其.asp的后缀,意识到这是个ASP请求。
第4步:IIS从硬盘或内存中接收正确的ASP文件。
第5步:IIS将这个文件发送到一个叫ASP.dll的特定文件中。
第6步:ASP文件将会从头至尾被执行,并根据命令要求生成相应的静态页面,生成HTML主页。
第7步:HTML主页将被送回浏览器。
第8步:HTML主页将会被用户浏览器解释执行并显示在用户浏览器上。
为了清晰地说明问题,以上步骤已经进行了很大简化。事实上,一个ASP并不一定每次都会重新编译解释,如果第二次接受以前的请求,而该请求没有任何变化,ASP会从数据缓存中提取出以前的结果,而不是再次运行ASP程序,这样可以大大提高运算速度。
对于服务器来说,ASP与HTML有着本质的区别,HTML是不经任何处理就被送回给浏览器,而ASP的每一条命令都首先被用来生成HTML文件,这也正是ASP允许生成动态内容的原因之一,也是动态网页复杂之所在。
另一方面,对于浏览器来说,ASP和HTML几乎没有区别,仅仅是后缀为*.asp和*.htm(或*.html)的不同,当客户端提出ASP请求后,浏览器接受的其实是HTML格式的文件。通过以上一个简单的ASP例子,有两点必须记住:有些代码是在服务器端执行,有些是在客户端浏览器端执行,而在浏览器端看到的是经过服务器解释之后输出的代码。
二、ASP的基本语法
VBScript是ASP的缺省语言,当然也可在ASP网页中使用其它脚本语言,如JavaScript、Perl等。这里所有的ASP都使用VBScript,我们将要介绍的也主要是VBScript的语法知识。相信通过前些期JavaScipt专题的学习,你一定对VBScript驾轻就熟了,其实VBScript跟JavaScript很类似,它是从VisualBasic中简化出来的版本,作为一种解释语言,也非常容易学习和使用。
1.将VBScript的脚本集成到ASP中
方法主要有3种:最简单且最常用的方法是使用两个特殊字符“<%”和“%>”,只要在使用的VBScipt脚本语句前后加上它们即可,例如:<%Response.write"VBScipt脚本"%>。
第二种方法是在特定的主页中指定主要的脚本语言,要将这种语言名称直接放在ASP程序的第一行,例如:
<%@language=VBScript%>
<html>
<body>...
</body></html>
第三种是方法是利用微软的HTML<Script>拓展对象,这样就可以在一个单独的主页中混合使用多种Script脚本。例如下面的例子:
<%@language="VBScript"%>
<html>
<head><title>ASPScript示例</title></head>
<body>
<scriptlanguage="JScript"RUNAT="server">
functionsayhello()
{
response.write(“混合使用多种script脚本”)
}</script>
<%forI=1to10
sayhello()
next
%>
</body>
</html>
需要注意的是,使用<script>包含的脚本会立即执行,无论它放在ASP的任何位置。此外,上面提到的第二和第三种方法,可以在ASP中灵活使用其他的脚本语言,而不只是局限于VBScript。