一种半静态化网站的构建方法.doc_第1页
一种半静态化网站的构建方法.doc_第2页
一种半静态化网站的构建方法.doc_第3页
一种半静态化网站的构建方法.doc_第4页
一种半静态化网站的构建方法.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一种半静态化网站的构建方法摘 要:介绍了一种利用动态与静态技术相合构建半静态化网站的原理及方法。利用这种方法,可以平衡静态与动态网页两种网页的优劣,它对中小型访问流量较大的网站在改善用户体验,优化搜索引擎,减轻服务器压力等多方面综合性能有一点改进。关键词:网站开发技术; 静态网页; 动态网页;半静态化【abstract】the principle and method of constructing a semi-static website with a mixed dynamic and static technology is introduced in this paper. this method can balance the performance between the static and dynamic webpage, especially, for small and medium-sized sites with busing access, it can make a bit improvement in user experience, search engine, and server stress and other aspects【key words】 web development technology; static web page; dynamic web page; semi-static 0 引 言对于网站建设,不同的网站会采用不同的技术。由于静态网页与动态网页两者各有优劣,如果从安全性、用户体验、搜索引擎收录、易管理性等多维角度来选择,这两种技术都难以割舍。目前一些网站采用了伪静态、动态技术生成静态页等方法来追求两种技术之间的平衡。除此之外,还有一种动静相结合的半静态化的解决方法。 1 网站开发技术1.1 静态网页技术静态网页指的是由html、htm、shtml、xml等扩展名的网页文件。它有许多优点:第一安全。从理论上讲是没有攻击漏洞的;第二访问的速度快,可以跨平台,跨服务器;第三易于搜索引擎收录,搜索引擎比较喜欢收录静态页面;第四降低服务器的承受能力,因为其不需要解析就可以返回客户端,因此减少了服务器的工作量。当然缺点也是显而易见的。首先,静态页面维护性差,删除或新添加一张,涉及到多个页面的操作与修改。其次,静态页面的内容不是在存储在数据库中,它是服务器空间上单独的文件,因此需要占空间内存,举一个例子来说明:如果一个论坛上有10万个帖子,假设一个帖子的大小是100k左右,那么生产静态的话就会产生 10万个html文件,换成容量就要占去服务器10g的空间,这当中还不计算由于磁盘存储机制造成的空间浪费。可想而知静态页面是比较消耗空间资源的。1.2 动态网页技术与静态网页相比,动态网页的url以aspx、asp、php、jsp、cgi等形式为后缀,并且在动态网页网址中有一个标志性的符号 “?”。其优点有:第一,以数据库技术为基础,可以大大降低网站维护的工作量;第二,采用动态网页技术的网站可以实现更多的交互功能。如用户注册、用户登录订单管理等等;第三,页面灵活简单。动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才动态地返回一个完整的网页。其不足之处主要有搜索引擎一般不可能从一个网站的数据库中访问全部网页,因此采用动态网页的网站在进行搜索引擎推广时需要做一定的技术处理才能适应搜索引擎的要求;其次,如果数据库被黑客入侵,整个网站的信息将被人完全控制甚至被破坏。1.3 两种技术的结合应用静态网页技术与动态网页技术两者特点各异,但也可以结合起来,既让搜索引擎得到很好的支持,又让信息维护简单化,目前有几种方法可以实现此目的。(1)利用伪静态技术,即使用相关设置将动态页面地址解析成静态页面地址,使得网页表面上看起来是静态页,但其实是动态页。它充分的结合了静态页面和动态页面的优点,解决了静态页面占用较多空间容量的问题,也能够较好的应付搜索引擎,但是当流量过大就出现cpu使用超负荷,就会是网站服务器出现服务不正常现象,这就是伪静态最大的弊病。(2)利用动态技术生成静态页面。动态技术生成静态页面的方法,是将所有的信息生成静态网页,它结合了静态网页与动态网页的优点,但是,整个网站静态化,单个的静态页面不是难点,难的是对各个静态页面间的关联和链接如何保持完整,特别是大型网站在页面频繁更新的情况下,对服务器空间与静态生成算法优化要求较高。(3)利用ssi包含技术。“服务器端包含(ssi)”指令将文本、图形或应用程序信息包含到网页中。通过一个非常简单的语句即可调用包含文件,此语句指示web服务器将内容插入适当网页。网页默认扩展名是stm、shtm和shtml。使用了ssi的一些指令,就像asp中的指令将内容存入一个包含文件中即可,而不必将内容输入所有文件。ssi技术执行效率介于html网页与asp等动态网页之间,也是解释动态执行的,需要消耗服务器资源,而且需要web服务器软件支持。 2 半静态化网站的原理结合动态网页与静态网页的技术特点,可以利用html+javascript+ajax+动态技术(asp),实现静态与动态相结合的半静态模式的网站。“动静结合”的方法,实质上是对于用户需要交互地方可以采取动态技术,而对于用户经常访问的页面(尤其是首页),则采取静态页面,这样一动一静实现不同的需求,追求最大的效益。具体的做法是首页、栏目页首页以及详细内容页,这些页面访问概率大,采用静态网页(由动态技术生成的)。这样可保证用户的访问速度及搜索引擎的收录效果。另外,栏目页的翻页链接,因为信息相对较旧,排在后面,用户的点击概率也相对较低,所以采用动态页,这样避免了动态生成全静态网站时,对各个静态页面间的关联和链接要保持完整性的技术要求。同时可以结合使用ajax技术实现静态面页异步访问,使整个网页伪装成全静态页面。栏目页翻页链接页使用动态技术,让动态技术生成翻页页面,可使页面之间的链接完整性简单化,发布或修改信息时,不需求更新整个网站的链接,程序执行效率更高。原理如下:图1 原理图fig.1 schematic diagram在原理图中,生成器类是生成静态化网页关键所在,它一般在后台联合数据库使用,在动态技术中调用。在图1中的设计模式中,生成器在管理员发布信息时,主要完成了三个主要任务:动态生成javascript(js)文件、生成详细信息静态页、生成栏目页静态首页。其结构化流程图如图2所示:图2 生成器的结构化流程图fig.2 generator structured flowchart 3 关键技术实现下面以asp动态技术+access数据库为例,生成某一个新闻发布栏目某一信息的js文件。假设access数据库中有news表,表中有id,newstitle(标题),newscontent(内容),newstime(发布时间), newsclass(类别),newsurl(生成的静态页路径)等字段。3.1 静态详细页的生成详细页的设计除了显示的内容不同之外,其它地方都一样。因此,一般采用模板辅助静态页的生成。模板是不含实质信息的一种静态网页框架文件,文件里中要显示实质信息的地方使用特殊标志来标识,如要制作一个信息的发布页面,可以使用 dreamweaver 先制作一个静态的页面,其中要显示信息标题的地方用 “title” 标识代替,要显示正文的区域使用“content” 标识来替代,如果在页面中还要显示其它信息,可以再设置相应的标识。一般情况下可以把模板的源代码存放在后台数据库中,当要生成静态网页时,把相应模板静态调出经过信息替换生成静态网页。通过模板技术的使用,可以保证信息页面界面的相对统一。在完成静态页的生成之后,需要把生成的静态页的地址写到数据库中。3.2 js文件的生成生成javascript文件主要是给首页引用,由js文件内容更新触发首页内容的更新。超链接与标题信息放在javascript文件中,index.htm可直接引用多个js文件。这样只要触发js文件更新,就能使 index.htm首页更新。在静态首页中引用js的方法为。在生成器中生成js文件方法如下:&”& rs(“newstitle “) &”)” 动态生成最新的5条信息链接rs.movenextloopset fso = server.createobject(“scripting.filesystemobject”)set jsfile = fso.createtextfile(server.mappath(“m.js”),true)jsfile.writeline(str) 利用fos组件覆盖js文件,实现信息更新 %3.3 栏目页的生成栏目页首页的生成方法与静态详细页的生成方法一样,也可以采用模板法。主要难点就是栏目页的翻页链接页的处理。这里采用ajax技术,从动态页面listshow.asp中获取数据,实现局部刷新,按需取数。主要的javascript函数如下:function ajax(page,newsclass) / page是页数,newsclass是类别var xmlhttp=createajax();if (xmlhttp) var content=document.getelementbyid(content);/显示的列表内容放在一个div中,其id为contentxmlhttp.open(get,listshow.asp?page=+page+&class=+newsclass+&n=+math.random(),true);/以get的方式提交内容到listshow.asp,并且带上参数,page和class是页数和新闻类别,页数就是将要打开的第几页,最后加上math.random是为了防止缓存信息不更新的。xmlhttp.onreadystatechange=function() if (xmlhttp.readystate=4 & xmlhttp.status=200) content.innerhtml=unescape(xmlhttp.responsetext);/把从listshow.asp里穿过来的内容显示出来 else content.innerhtml=正在加载搜索结果,请稍等. ; xmlhttp.send(null);采用ajax的一个优点是用户看到的显示页面完全是静态页面,屏蔽了制作技术的显示,网页局部刷新,访问速度快,最重要的一点是把静态页面复杂的链接关系应用动态页的优点来克服,减小了静态化网站生成的复杂性。需要特别说明的就是动态分页页面listshow.asp中,输出函数需要用到escape(charstring)函数,例如: ,escape函数对 string对象编码以便它们能在所有计算机上可读,不然,在页面上看到的就是乱码。 4 结论对于静态网页生成技术已经很成熟,应用也日益广泛,许多大型网站都采用各种相应的方法。本文提出了一种动态与静态技术相结合的办法来构建半静态化的网页技术,特别适合用在后台数据库功能不强,但网站访问数据流量较大的中小型web站点。其技术开发难度较低,实用性较高,特别是在改善用户体验,优化搜索引擎,减轻服务器压力等多方面综合性能能改进不少。参考文献1 徐白等.jsp静态网页生成技术的研究j.计算机技术与发展,2010.6 xu bai1, research of techniques of static web pages in jsp j, computer technology and development, 2010.62 董斌.静态页面生成的网站系统研究j.福建电脑,2009.8 dong bin, research of method of static web pages in websites, fujian computerj, 2009.83 白金牛等.下利用动态网页技术生成静态html页面的方法j.计算机应用与软件,2008 bai jinniu, the method of generating static html pages with dynamic web page technique in asp. netj, computer applications and software, 2009.14 韩

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论