页面静态化

1.静态化好处(一些变化不频繁,访问量大的页面适合做静态化)

     a.提升页面的相应速度,减少服务器的压力。

     b.从网站的优化上来说,搜索引擎更喜欢静态网页,也容易进行抓取,SEO排名也会更高

     c.静态网页没有查询数据库,安全性高些。同时稳定性也更高。

2.静态化的缺点

     a.交互差。

     b.占用磁盘空间,开发难度大,不利于维护和管理。

3.静态化分类

    a.纯静态

          a.1  全部纯静态

          a.2  局部纯静态

    b.伪静态

4.纯静态化实现

将动态数据写入模板,生成html文件,保存,访问时在条件内,直接访问html文件,提高响应,减少操作和消耗。

A.php 实现静态化时使用了butter缓存。file_put_cotent()函数

 相关函数简介:   
1、Flush:刷新缓冲区的内容,输出。   
函数格式:flush()   
说明:这个函数经常使用,效率很高。   
2、ob_start :打开输出缓冲区   
函数格式:void ob_start(void)   
说明:当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。  
为了输出缓冲区的内容,可以使用ob_end_flush()或flush()输出缓冲区的内容。   
3 、ob_get_contents :返回内部缓冲区的内容。   
使用方法:string ob_get_contents(void)   
说明:这个函数会返回当前缓冲区中的内容,如果输出缓冲区没有激活,则返回 FALSE 。   
4、ob_get_length:返回内部缓冲区的长度。   
使用方法:int ob_get_length(void)   
说明:这个函数会返回当前缓冲区中的长度;和ob_get_contents一样,如果输出缓冲区没有激  
活。则返回 FALSE。   
5、ob_end_flush :发送内部缓冲区的内容到浏览器,并且关闭输出缓冲区。   
使用方法:void ob_end_flush(void)   
说明:这个函数发送输出缓冲区的内容(如果有的话)。   
6、ob_end_clean:删除内部缓冲区的内容,并且关闭内部缓冲区   
使用方法:void ob_end_clean(void)   
说明:这个函数不会输出内部缓冲区的内容而是把它删除!   
7、ob_implicit_flush:打开或关闭绝对刷新   
使用方法:void ob_implicit_flush ([int flag])   
说明:使用过Perl的人都知道$│=x的意义,这个字符串可以打开/关闭缓冲区,而  
ob_implicit_flush函数也和那个一样,默认为关闭缓冲区,打开绝对输出后,每个脚本输出都直  
接发送到浏览器,不再需要调用 flush()   

 b.静态化触发,可以利用文件修改时间,当大于文件修改时间时,生成新的静态化文件。可以在后台手动执行。可以写计划任务执行。

5.局部静态化实现

   使用ajax技术请求数据,在前端页面进行数据封装和展示,达到局部动态化效果。

$.ajax({//使用jquery
    url:"",//请求地址
    type:'get',//请求类型
    dataType:'json',//数据类型
    error:function () {//请求错误时处理

    },
    success:function (result) {//请求正确时处理
        if(result.code == 1){//返回数据格式正确
            html = "";
            $.each(result.data,function (key,value) {
                html += '<li><a href="/">'+value.title+'</a></li>'
            })
            $('#hot').html(html)
        }else {
            //返回数据格式不正确
        }
    }
})

6.伪静态实现

 1.apache下配置伪静态,开启重写引擎,如果请求不是目录和文件,则走配置规则

      RewriteEngine on

      RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d

      RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f

      RewriteRule ^/detail/([0-9]*).html$/ /detail.php?id=$1

 2.nginx下配置伪静态

 

 

 

     

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值