网站静态化的实现以及纯伪静态优缺点

 在大型网站中,访问者看到的页面基本上是静态页面。为什么都要把页面静态化呢?把页面静态化,好处有很多。例如:访问速度快,更有利于搜索引擎收录等。目前主流的静态化主要有两种:一种是通过程序将动态页面抓取并保存为静态页面,这样的页面的实际存在于服务器的硬盘中,另外一种是通过WEB服务器的 URL Rewrite的方式,他的原理是通过web服务器内部模块按一定规则将外部的URL请求转化为内部的文件地址,一句话来说就是把外部请求的静态地址转化 为实际的动态页面地址,而静态页面实际是不存在的。这两种方法都达到了实现URL静态化的效果,但是也各有各自的特点。
 1、可以提高网站的打开速度

  实际上,真正能够提高网站访问速度的是纯静态生成,伪静态并不能提高网站访问速度因为纯静态生成是真正意义上减少了数据库查询工作,而伪静态是没有减少数据库查询的。所以,能够提高网站访问速度的静态化方式一定是纯静态生成方式,而不是伪静态化方式。这两之间的区别需要分清楚。

  2、有利于搜索引擎抓取和索引

  网站静态化之后,网页地址中没有参数,所以有利于搜索引擎抓取、分析、索引,从而对增加网站被搜索引擎收录的网页数量有非常大的帮助,对关键字在搜索引擎上的自然排名也有一定的帮助。两种静态化方式都可以实现这样的效果,所以利于搜索引擎抓取和索引的静态化方式,上述两种方式都可以胜任。

  3、可以减轻服务器压力

  静态化之后的网页,在用户访问的时候,不需要再次查询数据库,所以对减轻网站服务器的压力非常有帮助。但是这里要注意,伪静态不能减轻服务器压力,反而提高了一点服务器的压力。因为伪静态并不是真正意义上的静态化网页,是通过在服务器上安装组件来实现显示开式上的静态化,所以在访问伪静态网页的时候,还是需要查询数据库。因为在服务器中多装了一个处理组件,所以对服务器来说,反而提高了一点压力。

  4、内容更新不能即时显示(仅纯静态)

  对网站数据进行修改的时候,在网页前端不能即时显示出来,需要对网页进行静态化之后,修改的才能显示出来。因为纯静态生成的网页,是不能自动查询数据库中的数据,所以对数据发生的变化不能即时响应,需要重新运行静态化生成程序,根据新修改的数据重新生成纯静态页面,如果页面比较少的时候,这都没有关系。如果当网站规模很大,这里所产生的额外工作量将会非常大。这里所指的缺点是针对纯静态生成而言,伪静态不存在这样的缺点

  5、需要更大的服务器硬盘容量(仅纯静态)

  生成静态化网页之后,需要额外的服务器硬盘容量存放生生的静态化文件。这里所指的缺点是针对纯静态生成而言,伪静态不存在这样的缺点。

thinkphp纯静态页实现方法!

1:在根目录下的全局index.php中加下面这行:

define('HTML_PATH', './htm');//生成静态页面的文件位置

 

2:在项目的配置文件config.php中加下面这行:

'HTML_FILE_SUFFIX' => '.html',// 默认静态文件后缀

 

3:在需要生成静态页的action里加入下面显红的代码

public function view()
{
$wheres = "id = $_GET[id]";
$news = $this->news->where($wheres)->find();
$this->assign("news", $news);
$this->buildHtml('1', HTML_PATH . '/news/', 'view', 'utf8');
$this->display();
}

buildHtml方法

参数1:生成的静态页名称

参数2:静态页保存的目录

参数3:生成静态页的方法名

参数4:静态页编码(是utf8,不是utf-8)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值