投稿 评论 顶部

?静态页面和动态页面

佚名 网络安全

所谓“静态”指的就是网站的网页内容“固定不变”,当用户浏览器通过互联网的HTTP(Hypertext Transport Protocol)协议向WEB服务器请求提供网页内容时,服务器仅仅是将原已设计好的静态HTML文档传送给用户浏览器。

其页面的内容使用的仅仅是标准的HTML代码,最多再加上流行的GIF89A格式的动态图片,比如产生几只小狗小猫跑来跑去的动画效果。若网站维护者要更新网页的内容,就必须手动地来更新其所有的HTML文档。
  “静态”网站的致命弱点就是不易维护,为了不断更新网页内容,你必须不断地重复制作HTML文档,随着网站内容和信息量的日益扩增,你就会感到工作量大得出乎想象。
  那么什么是动态网站呢?所谓“动态”,并不是指那几个放在网页上的GIF动态图片,有作者为动态页面的概念制定了以下几条规则:
  1、“交互性”即网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后WEB发展的大事所趋。
  2、“自动更新”即无须手动地更新HTML文档,便会自动生成新的页面,可以大大节省工作量。
  3、“因时因人而变”,即当不同的时间、不同的人访问同一网址时会产生不同的页面,是不是很酷? 

静态页面的优缺点:搜索引擎为什么对静态页面情有独钟呢?因为它是实际存在的,无需经过服务器的编译,直接加载到客户浏览器上显示出来,还有的优点就是无论你如何访问都只是让服务器传数据给请求者,并不做脚本计算及读取后台数据库。访问的速度快,可以跨平台,跨服务器。从而大大的提高了访问速度及降低了部分安全隐患,这样使搜索引擎轻松又简单地访问到页面的内容。可是美好的东西总有不尽人意的地方,静态页面的内容不是在存储在数据库中的,它已经单独的在服务器空间上的文件,因此需要占空间内存,举一个例子来说明:Discuz论坛都是伪静态形式访问,如果有论坛上有 10万个帖子,假设一个帖子的大小事100K左右,那么生产静态的话就会产生 10万个html文件,对吧,换成容量是不是就要占去服务器10G的空间呢?这当中还不计算由于磁盘存储机制造成的空间浪费。可想而知静态页面是比较消耗空间资源的。我们一般租用虚拟主机,也不过是5G以内的虚拟空间,怎么够用呢?动态页面与静态页面

?

动态页面的优缺点:动态页面是在服务器端运行的程序、网页、组件,属于动态网页,它们会随不同客户、不同时间,返回不同的网页,例如ASP、PHP、JSP、ASP.net、CGI等,有非常好的交互性。而缺点也不少:1、由于其具有交互性,所以网站存在很大的安全隐患,如果开发设计人员在编程过程中安全性没有考虑到位,网站是很容易被黑客入侵的;

  2、动态网站的页面上的信息都必须从数据库中读取,每打开一个页面就读取数据库一次,如果访问网站的人数很多,这会对服务器增加很大的荷载,从而影响这个网站的运行速度;

  3、动态网站的设计对于搜索引擎不是很友好,因为搜索引擎可能由于一些变量的url进入死循环,称为“搜索机器人陷阱(Spidertraps)”(以前动网就有这样一个漏洞,蜘蛛进去出不来了),所以很多时候带较多变量的地址搜索引擎是不会进去的。

  总结:以上三种形式的url形式的网站程序我都用过,他们各自都有自身的长处,要想做好网站,用什么形式的 url,最关键的是取决于你的网站规模和类型,一般说来,小网站或者内容不多的网站,最好直接生成纯静态文件,这样非常容易访问和收录,如果网站规模大的话最好就用伪静态形式了,可以节省空间容量,其次选用动态形式,就说到这里,希望能帮到你。本文来自

?

1 什么是静态页面  

静态页面是网页的代码都在页面中,不需要执行asp,php,jsp,.net等程序生成客户端网页代码的网页。静态页面不能自主管理发布更新的页面,如果想更新网页内容,要通过FTP软件把文件DOWN下来用网页制作软件修改(通过fso等技术例外) 常见的静态页面举例:.html扩展名的、.htm扩展名的。 注意:静态页面并非网站上没有动画的就是静态页面。

最早的时候,网站内容是通过在主机空间中放置大量的静态网页实现的。为了方便对这些分散在不同目录的静态网页的管理,(一般是通过FTP),象 frontpage/dreamweaver这样软件甚至直接提供了向主页空间以FTP方式直接访问文件的功能。以静态网页为主的网站最大的困难在于对网页的管理,在这种框架里,网页框架和网页中的内容混杂在一起,很大程度地加大了内容管理的难度。为了减轻这种管理的成本,发展出了一系列的技术,在笔者的理解中,甚至连css本身,原本也是针对这种乱七八糟的网页维护而设计的,目的就是把网页表达的框架和内容本身抽象分离出来。

?

2 什么是动态页面

  动态页面是通过执行asp,php,jsp,.net等程序生成客户端网页代码的网页。 动态页面通常可以通过网站后台管理系统对网站的内容进行更新管理。发布新闻,发布公司产品,交流互动,博客,网上调查等,这都是动态网站的一些功能。也是我们常见的。 动态页面常见的扩展名有:.asp .php .jsp .cgi.aspx 等。 注意:动态页面的“动态”是网站与客户端用户互动的意思,而非网页上有动画的就是动态页面。

?

  使用动态网页的技术是从几年前兴起,目前已经进入衰老期的网站技术,也是BS系统的核心技术。这种技术称为动态网页,就是因为一般是在共用的网页框架下面通过程序接口抽取放在数据库或其他存储媒体中的内容,从而真正实现了把网页框架和内容提取分离的目的。也就是传统中的php,asp,jsp,servlet等。这种技术的发展一直以逻辑反复抽象,直到把几乎所有的系统业务逻辑合并到各个组件、控件中,网页代码仅仅完成最后对象属性读取的任务。在JSP中,标签结合EL语言就是这种发展方向的极致了。这种技术实际上就是不同的(不限数量的)内容共用网页框架,从而将网页维护成本下降到接近可以忽略的程度。在这种技术面前,象 frontpage/dreamwever这种软件,实际上已经多少显得过时了。

?

3为什么要动态页面静态化

  但为什么现在又要把动态网页以静态网页的形式发布呢?一个很重要的原因,就是因为搜索引擎。由于搜索引擎对aspx页面收录和html页面收录率的差别以及页面资源占用问题,我们很多时候需要实现ASPX页面动态转静态。以目前互联网上最普通的查找资料的方式看,互联网内容到达公众面前大致只有三条路:第一条路是通过众所周知的门户网站,老读者有意识地到达这些地方搜索相应的有针对性的资料;第二条路是做广告,通过公众使用一些免费服务的机会夹带资料信息,把公众带到目标网站;第三条路是搜索引擎,通过关键字和其他因素,把相应的信息推介到公众的面前。实际上,即使是对门户网站,这也是带来新公众的最有效的途径;而对于绝大多数的站点,除了屈指可数的几个门户外,这种搜索引擎带来的读者公众,占了至少90%以上的比例。

?

  如此重要的一条公众途径自然是不能忽略的,因此,尽管搜索机器人有点讨厌,各个网站不但不会再象从前一样把它封起来,反而热情无比地搞SEO,所谓的面向搜索引擎的优化,其中就包括访问地址的改写,令动态网页看上去是静态网页,以便更多更大量地被搜索引擎收录,从而最大限度地提高自已的内容被目标接收的机会。但是,在完全以动态技术开发的网站,转眼中要求变换成静态网页提供,同时,无论如何,动态网页的内容管理功能也是必须保留的;就如同一辆飞驶的奔驰忽然要求180度转弯,要付出的成本代价是非常大的,是否真的值得,也确定让人怀疑。

?

  另一个重要原因就是提高程序性能。很多大型网站,进去的时候看它很复杂的页面,但是加载也没有耗费多长时间,除了其它必要原因以外,我认为静态化也是其中必需考虑的技术之一。她先于用户获取资源或数据库数据进而通过静态化处理,生成静态页面,所有人都访问这一个静态页面,而静态化处理的页面本身的访问速度要较动态页面快很多倍,因此程序性能会有大大的提升。总之静态化在页面上的体现为:访问速度加快,用户体验性明显提升;在后台体现为:访问脱离数据库,减轻了数据库访问压力。

?

  静态化虽然可以提升程序的性能,但是它并不是提升整体性能的根本原因,就像一台电脑,只有CPU好或显卡好,内存好,是不行的,要看整体性能。很多时候是开发者的原因,导致程序自身性能不佳,所以性能量力而行,以项目本身性能为基础,其它优化方法为辅,最终提升整个应用程序的性能。

?

4动态页面如何静态化

  方法一:使用现成的插件,比如:ISAPI_Rewrite、IIS Rewrite、Apache HTTP服务器的mod_rewrite等,它们都是基于正则表达式解析器开发的重写引擎。它们的使用方法查看它们自带的帮助即可。

?

  方法二:自己写的代码实现动态网页静态化,方法也有好几种:

?

  1、创建FSO对象,利用此对象将所需的内容动态创建到文件中生成HTML页面;

?

  2、利用模板技术,将模板中特殊代码的值替换为从表单或是数据库字段中接受过来的值 生成HTML文件

?

  3、使用Server.Transfer转换技术,

?

  方法三:使用HttpWebRequest请求客户端的方式,获取返回资源,生成静态页面。一般这样只需要获取网页内容即可,其它资源可放置在服务器上,自动加载。(注:此方法缺点明显,需要大量更改匹配URL,建议慎用)