大型网站的优化1 —— 页面静态化

一、  页面静态化中几个重要概念

静态网址:纯静态HTML文档

动态网址:内容存于数据库中,根据要求显示内容,url中以?,&显示不同的参数,如:news.php?lang=cn&class=1&id=2/*1=1*/

伪静态网站:伪静态仅仅是对动态网址的一个重写,伪静态网址不能让动态网址“静态化” ,搜索引擎不会认为伪静态就是HTML文档。其次,伪静态可取,但应把重心放在去除冗余参数、规范URL、尽可能的避免重复页上。

二、举例说明:这是一个动态网址 news.php?lang=cn&class=1&id=2,

  从seo的角度来看,最好重写为 news-cn-sport-id2.html。这样的也更加有效的防止sql注入攻击

☞  但是也不要精简重写为 news-2.html,这样简写同样不利于搜索引擎优化.

三、页面静态化的概念:我们大多数情况下是直接访问php文件,php脚本在服务器端执行并返回信息,对于一些大型的网站,访问量很大,频繁的动态操作和操作数据库会加重服务器的负担。在实际开发中,通常使用缓存技术(memcache)或者页面静态化来解决

四、页面静态化分类

1.从静态化形态看,页面静态化分为:

真静态 和 伪静态

2.从静态范围看,页面静态化分为:

整个页面静态化  和  局部静态化(jquery)

五、为什么要将动态的网站改写成静态的形式?

1./*=*/  防止sql注入

2.动态的网站不利于SEO,因为?后面的参数会动态的变化,搜索引擎抓取的时候,不知道该怎么保存。比如: news.php?lang=cn&class=1&id=2 这样的动态网址,不如news-cn-sport-id2.html ,这样的格式.

3.减少访问的时间

 

六、使用php的ob缓存机制完成页面静态化

注意:仅靠php自身的缓存机制并不能完美的解决页面静态化,往往需要和其它静态化技术(通常是伪静态技术)结合。

php5.2 之前默认情况是关闭ob缓存,在php5.3之后,默认是开启ob缓存的在php.ini   output buffering

1.缓存:smarty缓存, ThinkPHP框架的缓存,PHPob缓存

ob---缓存,先将输出的数据呢,缓冲到一块空间然后显示的时候再显示这块空间的缓存的数据

2.ob缓存入门

(1) ob缓存:先判断一下,是否开启ob缓存,如果你开启了,先将输出的数据放到ob缓存中,如果你没有开启ob缓存,然后放到程序缓存中

(2)程序缓存:就是如果没有开启ob缓存,先将数据缓存到程序中,等echo都完了,再统一的输出

(3)获得缓存的数据:

ob_start()  先将输出的数据优先放入到 ob缓存中

ob_clean()  清空缓存,但是没有关闭

ob_end_clean()  清空缓存,同时也关闭缓存,ob_flush()   ob缓存的数据,输出到程序缓存

ob_end_flush()  ob缓存的数据输出到程序缓存并且关闭ob缓存

ob_get_contents()文件输出函数,将获得缓存数据输出到文件中(静态页面)

 

<?php

ob_start();

echo 'hello';

header("Content-Type:text/html;charset=utf-8");

echo 'world';

echo 'nihao';

echo '<hr/>';

//ob_clean();//清空缓存,但不删除

//echo 'linhaiyu';

//ob_end_clean();//清空缓存,同时关闭缓存

//ob_flush();//ob缓存的数据,输出到程序缓存

ob_end_flush();//ob缓存的数据,输出到程序缓存,同时关闭缓存

echo 'litong';

echo ob_get_contents();

 

七、PHP的缓存机制:

1ob缓存,如果开启了ob缓存,优先将数据放到ob缓存中

2.程序缓存,如果没有开启ob缓存,再将数据缓存到

 

八、页面静态化案例:

新闻管理系统 FCK/ob_cache_eg

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值