页面静态化

概述:核心 把动态的页面 转成 静态页面 从而减少对数据库操作的次数。

分为 真静态、伪静态、局部静态

1.html页面静态化(真静态的)优点和缺点

  减少对数据库的查询次数,从而提高速度

  利用SEO news-id2.html
  提高安全性,减少sql注入

  缺点:
  因为生成了html页面,所以会占用更多的空间
  如果我们html页面很多,同样导致去获取html响应速度问题,考虑 分文件夹来存放html页面. 20120904/xxx 20120905/

2.伪静态

  伪静态的优缺点分析:

  优点: 1. SEO 2. 防止注入 3. 占用空间小
  缺点: 1. 因为没有真正的静态化,因此每次请求是需要查询数据库

一、html静态的实现方法

   1.使用php的ob缓存机制来实现页面静态化

   2.使用模版技术来实现页面静态化

二、伪静态的实现方法

  1.使用字符串方法来截取(我认为 a.麻烦 b.复杂)
  2.使用apache的rewrite机制
  3.在文件夹下,直接通过写.htaccess文件来指定重新规范

三、局部静态的实现方法

 

代码:

  1.ob缓存

    //这里我们可以再找个页面把ob缓存打开

    //开启ob缓存

    ob_start();

    echo "hello,wrold!";

    header("content-type: text/html;charset=utf-8");

    echo "你好!";

   //ob内容缓存清空,但是ob缓存还在

  //ob_clean();

  //ob内容缓存清空,同时关闭ob缓存

  //ob_end_clean();

  //ob缓存的内容,刷新到程序缓存,同时关闭ob缓存

  //ob_end_flush();

  //ob缓存的内容,刷新到程序缓存,不关闭ob缓存

  ob_flush();

   echo "笑傲江湖";

  //获取ob缓存内容

  $con=ob_get_contents();

  //需要把日志,写入文件. echo print_r var_dump ,写文件 ,下断点.

  file_put_contents("d://hsp.log",$con); 

  现在我们再说最后一个函数 flush()

  该函数是把 程序缓存的内容,强制刷新到 浏览器

 

 

 

小方法:判断网页是静态的还是伪静态

火狐浏览器下:

先用火狐打开一个网页如:www.baidu.com 等网页完全打开后进入FireFox的控制台。"工具"-“错误控制台”快捷键:shift+ctrl+J  然后在控制台里面输入:alert(document.lastModified); 查看最后修改时间并记录。接下来关闭控制台,重新刷新网页,再用相同的方法在控制台里输入查询代码,再查看文件的最后修改时间,连续几次如果发现时间不同则可以判断它是伪静态的了

posted @ 2013-05-02 10:16  为了这有限的生命  阅读(1334)  评论(0编辑  收藏  举报