记得有一次和一朋友散步,他问到什么是动态网页、什么是静态网页、动态网页与静态网页有什么区别。当时我的回答似乎并没有让他真的明白到底什么是动态、什么是静态,所以今天想在这篇文章中详细的举例说明什么是动态网站、什么是晶体网站。都知道网站是由一个个网页组成的,所以动态(静态)网站与动态(静态)网页在本文中就不特别区别了,表达的意思是相似的。
(1)动态网站与静态网站的概念及区别
动态网站是指通过网页脚本语言(比如php、jsp、asp等)将网站内容中的数据动态的存储到服务器端的数据库里,用户访问网站是通过读取数据库来动态生成网页的方法。相反的,静态网站是指不通过脚本语言及数据库开发,而直接或间接由制作成html的网页组成。
在静态网站中,用户往往只具有信息浏览者的权利,用户不能实现信息反馈,而动态网站则很好的满足了这一要求,动态网站的用户往往可以填写表单、发表留言评论等等,而这些反馈的数据都被存储到了网站服务器端的数据库中。对于一个静态网站而言,其各个页面的制作都需要使用专门的网页制作工具(如dreamweaver)去修改制作,而且制作完成了的页面都具有“静态性”,即每个用户无论什么时候打开这个页面呈现的信息都是一样的。而对于动态网站而言,由于使用的是数据库驱动生产网页的方式,所以通常都会有一个网站建站软件,比如wordpress、dedecms、discuz等,管理者可以在网站的后台很方便的管理网站,可实现不用接触代码即可可视化的编辑网站内容,还能够实现站内站外各种信息的调用。不同的用户,或在不同的时间、不同的地点访问网站,或会呈现出不一样的页面。
那么如何区分动态网站与静态网站呢,叶德华觉得最简单、有效的方法就是看该网站是否采用了数据库的开发模式。对于一个静态网站来说,其网页都是真实存在于网站服务器的,而相对于动态网站,其网页是当有用户访问时即时生成的,网站服务器中并不真正存在该网页。例如,有www.a.com和www.b.com这两个网站,前者是纯静态的网站,后者是用php编写的动态网站,假设这两个网站都存在网站介绍页面,并且www.a.com/about.html和www.b.com/about.html表示的都是网站的网站介绍页面,表现出来的效果一样,但是原理却完全不同。www.a.com由于是静态网站,其根目录下真实存在about.html这个页面,用户访问的时候是直接访问了这个页面,没有通过任何数据库驱动来实现;而www.b.com由于是动态网站,其根目录下并不真正存在about.html这个页面,该网站只是将网站介绍的信息通过网站后台录入进了数据库中,当有用户访问的时候,数据库调用了录入的信息生成了一个伪静态的about.html页面,之所以称之为“伪”,是因为在网站服务器中并不存在about.html这个页面,这个页面只是即时生成的,这个也就是动态网站与静态网站之间最大的区别。
(2)百度首页是静态网页还是动态网页
这个问题看起来有点傻,不过叶德华觉得还是值得思考的。我们访问百度的时候,一般都是直接访问、、/index.php这三个网址一样进入的还是百度的首页呢?我觉得百度首页是一个静态网页,下面给出我的理由。
第一,感性的来说,百度首页虽然简单,但是却是数亿网民的上网入口,作为一个互联网巨头,使用简单的静态网页不管从维护还是其他方便来说都是不合适的,所以感性的认为这是一个动态的网页。
第二,从界面上来说,百度首页的“新闻”、“贴吧”、“知道”、“音乐”、“图片”、“视频”、“地图”、“百科”、“文库”、“hao123”、“更多”等锚文本都只是简单的链接而已,不管是静态还是动态,这些简单的功能都是可以的。用户还可以登录自己的百度会员账号,然后不同的用户呈现的百度个性化首页也会不同,那么这就需要调用到数据库中的用户信息了,单从这点而言,可以认为是一个动态页面。
第三,从网页代码来看,在“百度首页”单击鼠标右键可查看网页源代码,从代码也可以看出使用了各种各样的脚本语言,比如会员账号中就使用了javascript脚本。所以,也可以看出这是一个动态页面。
(3)以叶德华的博客为例整站分析动态与静态
访问我的博客,可以直接在百度中搜索“叶德华的博客”即可访问。我的博客整站布局是这样的,我首先使用了wordpress建站程序建了这样的一个博客网站,然后又自己用dreamweaver建了几个简单的页面,例如404页面、网站地图页面。由于这个博客是我一手建好的,所以我可以明确的说这个博客中除了404页面和网站地图页面以外,其余的都是动态页面。
博客的首页、文章分类页、文章内容页面都是数据库生成的网页,我每次发布文章的时候只需要在网站的管理后台中录入我想要发布的文章,然后点击“发布”即可,不用接触到任何的网页代码。而“404页面”和“网站地图”页面每当我要修改的时候,就会有些麻烦,我需要首先将这几个网页从服务器中下载下来,然后使用dreamweaver打开然后修改其中的代码,这也就是为什么动态网站的管理要比静态网站的管理要容易的多的原因。为了减轻自身服务器的压力,我使用了较多的第三方应用,比如搜索框使用的是谷歌的搜索、广告直接放入的就是百度广告联盟的、评论功能使用的是多说的社会化评论代码等。也是由于插入了这些第三方应用,才使得博客的页面看起来显得动态化了,否则,如果没有添加百度联盟的广告,那么“404页面”和“网站地图”页面就是一纯静态化的网页,不管是谁、不管什么时间、什么地点访问都会呈现一样的页面结果。
以前,可以较明显的区别出动态网站与静态网站,而随着现在各种技术的成熟、以及开发平台的出现,让静态网页呈现出动态网页的效果变得越来越容易,所以区分起来也就有了一定的难度,不过也没关系,现在所说的网站开发绝大多数情况下指的都是动态网站开发,而不会让你真正的去制作一个个的html静态网页组成一个网站。从事互联网相关的工作,对于这些基本概念的了解也是必要的。
本文首发于叶德华的博客,由cheaplululemon赞助,赞助网站地址:/,转载请注明赞助网站网址。