动态网站和静态网站的区别,麻烦详细点~!!

如题所述

动态网站和静态网站的区别

静态网站特点:
1.网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页的内容都是保存在网站服务器上的,也就是说,静态网页是实实在在保存在服务器上的文件,每个网页都是一个独立的文件;
2.静态网页的内容相对稳定,因此容易被搜索引擎检索;

3.静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难;
4.静态网页的交互性交叉,在功能方面有较大的限制。

那么什么是动态网站呢?所谓“动态”,并不是指网页上简单的GIF动态图片或是Flash动画,动态网站的概念现在还没有统一标准,但都具备以下几个基本特征:
1.交互性:网页会根据用户的要求和选择而动态地改变和响应,浏览器作为客户端,成为一个动态交流的桥梁,动态网页的交互性也是今后Web发展的潮流。

2.自动更新:即无须手动更新HTML文档,便会自动生成新页面,可以大大节省工作量。

3.因时因人而变:即当不同时间、不同用户访问同一网址时会出现不同页面。
此外动态网页是与静态网页相对应的,也就是说,网页 URL的后缀不是.htm、.html、.shtml、.xml等静态网页的常见形式,而是以.asp、.jsp、.php、.perl、.cgi等形式为后缀。 在动态网页网址中有一个标志性的符号——“?”,如有这样一个动态网页的地址为:
http://www.test.com/ip/index.asp?id=1
这就是一个典型的动态网页URL形式。
这里说的动态网页,与网页上的各种动画、滚动字幕等视觉上的“动态效果”没有直接关系,动态网页也可以是纯文字内容的,也可以是包含各种动画的内容,这些只是网页具体内容的表现形式,无论网页是否具有动态效果,采用动态网站技术生成的网页都称为动态网页。
从网站浏览者的角度来看,无论是动态网页还是静态网页,都可以展示基本的文字和图片信息,但从网站开发、管理、维护的角度来看就有很大的差别。网络营销教学网站将动态网页的一般特点简要归纳如下:
(1)动态网页以数据库技术为基础,可以大大降低网站维护的工作量;
(2)采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、用户管理、订单管理等等;
(3)动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页;
(4)动态网页中的“?”对搜索引擎检索存在一定的问题,搜索引擎一般不可能从一个网站的数据库中访问全部网页,或者出于技术方面的考虑,搜索蜘蛛不去抓取网址中“?”后面的内容,因此采用动态网页的网站在进行搜索引擎推广时需要做一定的技术处理才能适应搜索引擎的要求。
如今,各大论坛、聊天室人满为患,说明网络发展强调更多的交互性。也许你也想拥有一个私人论坛——听听别人对你主页的建议和看法;拥有一个聊天室——志趣相投的朋友在一起自由讨论……其实,只要跟我们一起了解动态主页的制作技巧,在自己的网站中轻松搭建个人社区就再也不是梦想了!那么,从本期开始,别忘了关注我们为你推出的动态网页制作技术教程。

提起动态主页的制作,就不能不说到ASP动态网页技术。细心的读者会发现很多网站的文件是以*.asp结尾,那么这个ASP到底是什么,它与HTML有什么关系,又是如何工作的呢?不妨一起来看一看。

一、细说ASP

ASP 是Active Server Pages的简称,是微软开发的服务器端脚本环境,它内含于IIS或PWS中,提供一个用于服务器端脚本执行的环境,以此来实现动态交互的目的,这也是许多动态网页技术的共同特征。本章内容均围绕 IIS来进行讲解,PWS的内容与此大致相同。

ASP的兴起似乎是“一夜之间”,到底它有什么“魔力“呢?

1.无须编译或链接即可执行,可集成于HTML代码中,有了它,可省去许多繁琐重复的劳动。

2.与浏览器无关:用户端只要使用可执行HTML代码的任何浏览器(例如IE、Netscape等),即可浏览由ASP所设计的主页内容。所有代码都是在服务器端执行,只要写好代码,工作服务器就能搞定一切。

3. 可通过ActiveX Server Components(ActiveX服务器组件)来扩充功能,而 ActiveX Server Component可使用Visual Basic、Java、Visual C++、COBOL等语言来实现,有了它就可随意扩展功能。更令人兴奋的是,现在网上有很多第三方组件可以随意下载,想要什么尽可去Search、去Download,然后放在你的ASP代码中调用就OK啦。

4.ASP与任何ActiveX Scripting语言兼容。除了可使用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>
<%
dim says
if hour(now)<12 then
says="早上好!"
else
if hour(now)<18 then
says="下午好!"
else
says="晚上好!"
end if
end if
%>
<h1><% =says %></h1><body>
</html>

结果怎么样呢?如果浏览者是早晨10点打开这个网页,将会看见“早上好!”的问侯语(图1),如果是下午14点进入,页面中则会出现“下午好!”。上面 <%……%>之间的程序由服务器来执行,而我们常用的脚本则是由客户端来执行。这个简单的例子包含了ASP的典型结构,并且强调了ASP的服务端执行,对于我们初学ASP有一定的参考意义。

ASP动态网页与普通的静态网页在显示上有很大不同,它整个的运行过程可分成以下几步:

第1步:用户在浏览器的网址栏中输入.asp文件名称,并回车触发这个ASP的请求。

第2步:浏览器将这个Active Server Pages的请求发送给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很类似,它是从Visual Basic中简化出来的版本,作为一种解释语言,也非常容易学习和使用。

1.将VBScript的脚本集成到ASP中

方法主要有3种:最简单且最常用的方法是使用两个特殊字符“<%”和“%>”,只要在使用的VBScipt脚本语句前后加上它们即可,例如:<% Response.write"VBScipt脚本" %>。

第二种方法是在特定的主页中指定主要的脚本语言,要将这种语言名称直接放在ASP程序的第一行,例如:

<% @language=VBScript %>
<html>
<body>...
</body></html>

第三种是方法是利用微软的HTML<Script>拓展对象,这样就可以在一个单独的主页中混合使用多种Script脚本。例如下面的例子:

<% @language="VBScript" %>
<html>
<head><title>ASP Script示例</title></head>
<body>
<script language="JScript" RUNAT="server">
function sayhello()
{
response.write(“混合使用多种script脚本”)
}</script>
<% for I=1 to 10
sayhello()
next
%>
</body>
</html>

需要注意的是,使用<script>包含的脚本会立即执行,无论它放在ASP的任何位置。此外,上面提到的第二和第三种方法,可以在ASP中灵活使用其他的脚本语言,而不只是局限于VBScript。追问

我想了解的是php,能简要说说么,是不是还要装什么服务器啊

追答

没怎么用过PHP,不过你可以去找一下 Apache+PHP+MySQL服务器

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2019-11-12

动态网站和静态网站最大区别:

1. 动态与静态从字眼可以很明白的说明,前者是动的,就是网上的浏览者可以与你的网站进行互动,交流,这样就有了互动性。哪么后者是静止的,浏览者呢只能看,没有互动性,就像是广告一样,哪么什么注册了留言了都是不能做的。

2. 网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页的内容都是保存在网站服务器上的,也就是说,静态网页是实实在在保存在服务器上的文件,每个网页都是一个独立的文件;静态网页的内容相对稳定,因此容易被搜索引擎检索;

3. 静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难;

4. 静态网页的交互性交叉,在功能方面有较大的限制。所谓“动态”,并不是指网页上简单的GIF动态图片或是Flash动画,动态网站的概念现在还没有统一标准。

拓展资料:

1. 动态网站并不是指具有动画功能的网站,而是指网站内容可根据不同情况动态变更的网站,一般情况下动态网站通过数据库进行架构。 动态网站除了要设计网页外,还要通过数据库和编程序来使网站具有更多自动的和高级的功能。

2. 动态网站体现在网页一般是以asp,jsp,php,aspx等结束,而静态网页一般是HTML(标准通用标记语言的子集)结尾,动态网站服务器空间配置要比静态的网页要求高,费用也相应的高,不过动态网页利于网站内容的更新,适合企业建站。动态是相对于静态网站而言。

3. 静态网站是指全部由HTML(标准通用标记语言的子集)代码格式页面组成的网站,所有的内容包含在网页文件中。网页上也可以出现各种视觉动态效果,如GIF动画、FLASH动画、滚动字幕等,而网站主要是静态化的页面和代码组成,一般文件名均以htm、html、shtml等为后缀。

本回答被网友采纳
第2个回答  推荐于2019-09-22

静态网页和动态网页最大的区别,就是网页是固定内容还是可在线更新内容。

静态网页是指不应用程序而直接或间接制作成html的网页,这种网页的内容是固定的,修改和更新都必须要通过专用的网页制作工具,比如Dreamweaver、Frontpage等,而且只要修改了网页中的一个字符或一个图片都要重新上传一次覆盖原来的页面。 

动态网页是指使用网页脚本语言,比如php、asp、asp.net、jsp等,通过脚本将网站内容动态存储到数据库,用户访问网站是通过读取数据库来动态生成网页的方法。网站上主要是一些框架基础,网页的内容大都存储在数据库中。

拓展资料:

功能特点:动态网站可以实现交互功能,如用户注册、信息发布、产品展示、订单管理等等;动态网页并不是独立存在于服务器的网页文件,而是浏览器发出请求时才反馈网页;

动态网页中包含有服务器端脚本,所以页面文件名常以asp、jsp、php等为后缀。但也可以使用URL静态化技术,使网页后缀显示为HTML。所以不能以页面文件的后缀作为判断网站的动态和静态的唯一标准。

动态网页由于需要数据库处理,所以动态网站的访问速度大大减慢;动态网页由于存在特殊代码,所以相比较静态网页,其对搜索引擎的友好程度相对要弱一些。但随着计算机性能的提升以及网络带宽的提升,最后两条已经基本得到解决。

简述:每个静态网页都有一个固定的网址,文件名均以htm、html、shtml等为后缀;静态网页一经发布到服务器上,无论是否被访问,都是一个独立存在的文件;

静态网页的内容相对稳定,不含特殊代码,因此容易被搜索引擎检索;html更加适合SEO搜索引擎优化。静态网站没有数据库的支持,在网站制作和维护方面工作量较大;

由于不需通过数据库工作,所以静态网页的访问速度比较快;现在流行的cms都支持静态化网页,这有利于被搜索引擎收录和提高访问速度,但需要占用较大的服务器空间,程序在生成html的时候非常消耗服务器资源,建议在服务器空闲的时候进行此类操作。



本回答被网友采纳
第3个回答  推荐于2019-10-18

它们最大的区别在于动态上网页可以实现信息的交互功能,比如留言板。静态网页是无法完成这些的。
那么网站是静态页面好仍是动态好呢,可能谁也给不了明晰的谜底。静态页面的首要优势是页面平安性较高,对服务器压力更小,不足是会生成大量的文件。动态页面主要优势在于维护简单,功能上更矫捷,能更好的展示内容,不足之处是对服务器压力增添,安全性与不变性较差。将具体阐述两种体例的口角势,以下是详细内容

1、服务器压力


网站生成静态后,用户浏览时,服务器自己把静态页面返回给客户,不用做此外的操作,可以减缓服务器的压力。

动态页面每次城市由服务器端先获取页面内容,娱乐后在返回给浏览者,这时代会与数据库交互,运行程序等,对服务器的压力自然较大。

2、浏览性


动态上网页url经常伴跟着陆续串的参数,无法确定其所属分类,例:id=35,而生成静态后一般为式,这样就可以清楚地知道该新闻属于产品中心类别。同理,产品页也是如斯,我们可以按照类别号称自界说生成的,比起单一的**页,更便利归类与治理。

3、网站维护性


因为动态上网页是直接挪用数据库读取数据的,顺发欢愉轻易呈现程序裂痕,这也为heike抨击袭击留下了可乘之机,往往SQL注入,木马上传等常见手段都是通过动态上网页实现的。可是静态页面修改更简单,要修改整站的信息,只需要修改一个处所,不做任何另外操作,实时生效,静态页面择需要先修改模板,然后整站生成页面才能生效,维护需要破耗时刻更多。

网页生成静态后,只要把生成的原文件从头定义,heike就无法读写数据,自然也就保障了网站的安全性。同时,静态生成的网页泛起损坏或者加载异常时,只要从新生成就能立马恢复正常。 而动态页面假如损坏一般都是源文件,恢复很是麻烦,而且一处出问题,可能会导致整个网站都不能访谒。

拓展资料:

静态上网页一般是以 、htm、shtml等为扩展名的文件,此刻的静态文件年夜多是轨范生成的静态,而不是早期建造的静态网页。运行于客户端。更改主若是对模板的改削然后再次生成静态。


动态上网页一般指用asp,php,jsp等收集编程说话写在运行于处事器端的代码,然后再将服务器端代码执行成html代码显示在客户端浏览(访客是无法看到这个文件的源代码的,看到的只是好比asp代码经由过程服务器编译事后的html代码)。动态页面凡是可以通过网站动态打点系统对网站的内容进行更新经管,发布新闻、发布公司产物、交流互动、博客、网上查询拜访等,这都是动态上网页的一些功能。

本回答被网友采纳
第4个回答  推荐于2019-09-26

一、静态网站

静态网站是固定的html页面,谁访问都是一样的结果。

1、在静态Web程序中,客户端使用Web浏览器(IE、FireFox等)经过网络(Network)连接到服务器上,使用HTTP协议发起一个请求(Request),告诉服务器我现在需要得到哪个页面,所有的请求交给Web服务器,之后WEB服务器根据用户的需要,从文件系统(存放了所有静态页面的磁盘)取出内容。之后通过Web服务器返回给客户端,客户端接收到内容之后经过浏览器渲染解析,得到显示的效果。

2、为了让静态web页面显示更加好看,使用javascript/VBScript/ajax(AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。)但是这些特效都是在客户端上借助于浏览器展现给用户的,所以在服务器上本身并没有任何的变化。

3、静态web无法连接数据库;

4、静态web资源开发技术:HTML;

5、由于现在的web页面中,大量使用JS,导致浏览器打开页面,就会占用大量的内存,服务端的压力是减轻了,但压力转移到了客户端。

二、动态网站

动态网站是有动态生成的内容在页面中的,可以实现一定的定制化。比方说访问网站的页面有个表,不同时间的访问是不同的表现。具体的内容实现,是在访问服务器的时候,不是请求的html页面或下载东西等等,而是需要调用servlet。

动态WEB中,程序依然使用客户端和服务端,客户端依然使用浏览器(IE、FireFox等),通过网络(Network)连接到服务器上,使用HTTP协议发起请求(Request),现在的所有请求都先经过一个WEB Server来处理。

如果客户端请求的是静态资源(*.htm或者是*.htm),则将请求直接转交给WEB服务器,之后WEB服务器从文件系统中取出内容,发送回客户端浏览器进行解析执行。

拓展资料

如果客户端请求的是动态资源(*.jsp、*.asp/*.aspx、*.php),则先将请求转交给WEB Container(WEB容器),在WEB Container中连接数据库,从数据库中取出数据等一系列操作后动态拼凑页面的展示内容,拼凑页面的展示内容后,把所有的展示内容交给WEB服务器,之后通过WEB服务器将内容发送回客户端浏览器进行解析执行。

本回答被网友采纳
相似回答