静态与伪静态
想知道什么是伪静态,那么我们必须知道什么是静态和动态的,之前没有接触网站的时候,认为静态的就是没有flash多的页面,动态的就是有flash的页面,发现这真是一个片面的理解,现在才知道这并不是区别静态和动态的原理,而是通过代码来区别的
静态网站是指全部由HTML代码格式页面组成的网站,所有的内容包含在网页文件中。网页上也可以出现各种视觉动态效果,如GIF动就变画、FLASH动画、滚动字幕等。
动态页面是通过执行asp,php,jsp,.net等程序生成客户端网页代码的网页。可以通过网站后台管理系统对网站的内容进行更新管理。发布新闻,发布公司产品,交流互动,博客,网上调查等,这都是企业站的一些功能。
知道了什么是静态和动态页面,我们就可以解释为什么会有伪静态的产生了?我们都知道早期网站没有动态语言,例如(asp/jsp/.net)等等的支持,所有页面都是靠手工开发写HTML然后保存为扩展名为.html这种文件来供大家浏览,其访问地址可能是以.html结尾,如此可以想象整个效率是多么的低,而且还很复杂。后来出现了动态语言和数据库相结合以后,更多的交互性很强的网站就出现在我们面前,访问地址成了带有?等。
纯静态网页:
纯静态的网页一般以.html或者htm结尾,地址对应的是一个文件,这个文件实实在在的存在于网站服务器的某个目录中。
纯静态网页优势:
1.当访问者访问网页的时候,不读取数据库,直接访问网站空间对应的文件。(直接读取文件)
2.纯静态的网页对搜索引擎友好,是最容易被搜索引擎所收录的。(易收录)
3.由于访问网页的时候,不需要服务器做过多的处理,对服务器的压力最小,所以,更容易应对高访问量。(节省服务器压力)
4.一些面对数据库的攻击比如SQL注入攻击,在面对静态网页的时候常常难以从地址入手。(安全性高)
纯静态网页劣势:
1.由于静态网页需要生成文件,所以当网站内容更新频率高,更新数据量大的时候,对服务器磁盘的写入也会很频繁;(服务器的负担)
2.在不采用其他技术的时候,如果更改了模板,所有相关的html网页都要重新生成,这在面对大数据量的时候,也不是一件很好玩的事。(模板修改、对应变化)
动态网页:
访问网页的时候,需要服务器读取数据库,数据库做出相应的处理,把数据返回给服务器,再由服务器发送给浏览器,这样的一个过程,需要消耗一定的服务器资源,在访问量大的时候,会加重服务器的负担。在过去搜索引擎技术不发达的时候,动态的网页一般都不太好收录,随着搜索引擎技术的提高,现在的动态页已经难不倒蜘蛛了,但是和纯静态的网页比起来,还是不如静态的网页容易被收录。
动态页优势:
1.动态页由于不用生成html文件,所以可以节省服务器空间,这样我们可以把更多的资金放在数据库上,节省出来的服务器空间可以用来放更多的图片附件等文件;(节省服务器空间)
动态页劣势:
1.不如静态的网页容易被收录(收录难)
2.一些面对数据库的攻击比如SQL注入攻击,在面对动态网页的时候常常容易从地址入手(安全性低)
伪静态网页:
伪静态实质上还是动态的,在数据的处理过程上和动态的一样。
伪静态页优势:
1.在网址的形式上看,伪静态的地址和静态的可以一摸一样,普通的访问者不容易分出是真静态还是伪静态,同时蜘蛛一般也会把这种形式的网页当做是静态的来处理。(易收录)
伪静态页劣势:
1.伪静态相对动态来说,更加消耗服务器资源,因为网页地址需要按事先设定好的伪静态规则来进行正则匹配,这一个过程是消耗资源的。(消耗服务器资源)
这种形式,比动态的网址多了一个匹配筛选的过程。网页地址需要按事先设定好的伪静态规则来进行正则匹配,这一个过程是消耗资源的。这种形式,比动态的网址多了一个匹配筛选的过程。
总结:
对搜索引擎的友好度: 纯静态好于伪静态好于动态;
对服务器CPU资源的消耗: 纯静态小于动态小于伪静态;
对服务器空间的占用: 纯静态大于伪静态,伪静态和动态相同。
具体选择那种形式,可以根据自己的实际情况。