精华内容
下载资源
问答
  • jsp静态化jsp静态化jsp静态化jsp静态化jsp静态化jsp静态化jsp静态化jsp静态化jsp静态化jsp静态化jsp静态化jsp静态化jsp静态化jsp静态化jsp静态化jsp静态化jsp静态化jsp静态化jsp静态化
  • PHP 页面静态化静态化静态化

    万次阅读 2018-07-03 11:27:08
    静态化又分为:局部静态化 和 完全静态化静态化:是把PHP生成的动态页面保存成静态的html文件,用户访问该静态页面,而不是用户每一次访问都重新生成一张相同的网页,优点就是减小服务器开销,  局部静态化...

    概念

    PHP静态化分为:纯静态化 和 伪静态化;纯静态化又分为:局部静态化 和 完全静态化

    纯静态化:是把PHP生成的动态页面保存成静态的html文件,用户访问该静态页面,而不是用户每一次访问都重新生成一张相同的网页,优点就是减小服务器开销,

            局部静态化:是生成的静态文件中,有局部的数据还是通过ajax技术动态获取的;

            完全静态化:即不存在动态获取数据的情况,所以内容都来自静态的html页面

    伪静态化:Apache服务器rewrite配置

     

     

    纯静态化的实现

    利用php内置的ob函数实现页面的静态化,大概步骤如下:

    <?php ob_start();//开启缓存 
    ?>
    
    <p>我是要生成的静态内容,也可以在该处链接数据库生成动态内容于此</p>
    <?php 
    file_put_contents( 'index.html', ob_get_clean() );//把生成的静态内容保存到index.html文件,而不是输出到浏览器
    
    ?>
     

    触发系统生成纯静态化页面

      方法:页面添加缓存时间;手动触发

    页面添加缓存时间

    <?php
    $file_name = 'index.html';
    if(file_exists( $file_name ) &&  filemtime( $file_name ) - time() < 10 ){//如果文件是存在并且最后修改时间小于设定时间 10s
        //filemtime( $file_name );//得到文件最后修改时间
        //time();//当前时间
        require_once( $file_name );//引入文件
    }else{
     ob_start( );
     ?>
    <p>我是要生成的静态内容</p>
     <?php
    file_put_contents( $file_name,  ob_get_contents() )//输出到浏览器
    }

      如果后台数据存在更细,定时刷新不能及时更改静态页面,怎么办?所有引入了手动触发的功能

    Linux下的crontab定时扫描程序

    */5****php/data/static/index.php

     

    PHP伪静态

     

    Apache服务器rewrite配置

    在httpd.conf文件中,找到

    #注释:去掉前边的" # "开启rewrite服务,重启服务器生效
    #LoadModule rewrite_module modules/mod_rewrite.so
    
    #注释:http-vhosts.conf文件是虚拟域名配置的文件,开启改文件可以配置虚拟域名,一般默认是开启的
    #Include conf/extra/httpd-vhosts.conf 

    rewrite伪静态配置

    <VirtualHost *:80>
        ServerAdmin webmaster@dummy-host.example.com
        DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
        ServerName dummy-host.example.com
        ServerAlias www.dummy-host.example.com
        ErrorLog "logs/dummy-host.example.com-error.log"
        CustomLog "logs/dummy-host.example.com-access.log" common
    
    
        #配置规则如下所示
        RewriteEngine on
        RewriteRule ^/vidio/([0-9]*).html$ /vidio.php?id=$1
        
    </VirtualHost>

    也可用.htacess文件,放在网站目录下,无需重启服务器。

     

    展开全文
  • 首先先要把需要静态话的内容发...这个是静态化首页的 function staticIndex(){ $newslist = $article->getArticles(null,54,'DESC',1,6,false,1,2,'',0,0,1); if($newslist){ foreach($newslist as $k=>$v){
    首先先要把需要静态话的内容发到模版上去
    
    eg.这个是静态化首页的
    
    function staticIndex(){
    
    $newslist = $article->getArticles(null,54,'DESC',1,6,false,1,2,'',0,0,1);
       if($newslist){
        foreach($newslist as $k=>$v){
         $newslist[$k]['title_all'] = $v['title'];
         $newslist[$k]['title'] = cutstr($v['title'],36,'…');
        }
        $smarty->assign('newslist',$newslist);
       }
    
    $content = '';
    
    $content = $smarty->fetch('index.html',true);//这是Smarty自带的生成静态页面的函数
    
    $static_name = ROOT_PATH.'index.html';//这是生成静态页面当前的路径文件
    
    fopen($static_name,'a');//打开这个文件
    
    @file_put_contents($static_name,$content);//最后写进去
    
    return true;
    
    }
    
     
    
     
    
     
    
     
    
    //静态化列表页,按类别不同经行静态化
    
    function staticContent(){//需要静态话的条数
      $ids = array();//获取所有的内容
       $ids = $this->getListIds();//这个方法获取所有的内容,下面红字部分对应它的方法
       foreach($ids as $k=>$value){
        //echo $value['catid'];
        if(!file_exists(ROOT_PATH.'demo/')){//判断根目录下面有没有这个文件夹,如果没有则创建demo这个文件夹
         mkdir(ROOT_PATH.'demo/');
        }
         if(!file_exists(ROOT_PATH.'demo/'.$value['catid'])){//判断这个文件夹下面有没有对应的类别文件夹
          mkdir(ROOT_PATH.'demo/'.$value['catid']);
          }
         $html_content = $this->getDemoContent($value['demoid']);
         $static_name = ROOT_PATH.'demo/'.$value['catid'].'/'.$value['demoid'].'.html';
         fopen($static_name,'a');
         @file_put_contents($static_name,$html_content);
        }
      return true;
      }
      
    
    
     
     
      //拿出需要静态化的页面ID
      function getListIds(){
       $sql = "select * from {$this->tablepre}demo order by demoid asc";
       $rs = $this->db->getAll($sql);
       if($rs){
         return $rs;
       }else{
       return false;
       }
      }
      
      //content单页静态化
     function getDemoContent($id){
       global $smarty,$view_templates,$admin_templates;
       loadModel(array('demo'));
       $demo = new demo();
       $content = '';
       $smarty->template_dir = ROOT_PATH.$view_templates;
       $getMobanOne = $this->getMobanDetail($id);
       $mobandetail = $demo->MobanList($id);
        foreach($mobandetail as $k=>$v){
           $smarty->assign($k,$v);
           }
       $this->catid = $getMobanOne['catid'];
       $smarty->assign('pre_title',$mobandetail['membername']);
       $smarty->assign('mobandetail',$mobandetail);
       $content = $smarty->fetch('demo_show.html',true);
       $smarty->template_dir = ROOT_PATH.$view_templates;
       return $content;
      
    }
    
     
    
    以前用的那个生成静态页面每次都要执行PHP文件,然后才能生成,现在我写的这个就是由人控制的,想生成就生成,很方便,希望能给大家带来方便,如有什么疑问,就直接联系我的qq:523132661,祝大家工作愉快。
    

     
    展开全文
  • 想对商品详情页做静态化,在商品上架的时候生成静态化文件,但是比如商品的库存变更 怎么更新静态化文件呢?是通过提交订单是异步更新吗?
  • 1.什么是网页静态化技术:随着用户访问量以及数据量的增大,网页静态化技术方案如今越来越流行。什么是网页静态化技术呢?简单来说就是将网页以纯静态方式的形式展现。2.网页静态化技术与缓存技术的比较:共同点:都...

    1.什么是网页静态化技术:
    随着用户访问量以及数据量的增大,网页静态化技术方案如今越来越流行。
    什么是网页静态化技术呢?简单来说就是将网页以纯静态方式的形式展现。

    2.网页静态化技术与缓存技术的比较:
    共同点:都可以减小数据库的访问压力。
    区别:
    (1)缓存技术适用于小规模的数据。以及一些经常变动的数据。
    (2)网页静态化技术适用于大规模但是变化不太频繁的数据。

    3.网页静态化技术的应用场景:
    (1)新闻门户网站的文章类型频道一般都用到了网页静态化技术。点击新闻直接会跳到静态化的页面。
    (2)电商网站的商品详情页也十分常用,我们在存储商品的时候会生成静态化页面,点击商品详情,会直接跳到生成的商品详情的静态化页面。
    (3)此外网页静态化技术可以结合Nginx这种高性能web服务器来提高并发访问量。

    4.什么是FreeMarker:
    FreeMarker是一款用Java语言编写的模板引擎,用它可以通过模板和要改变的数据来生成输出文本(例如HTML网页,配置文件,源代码等),作为用来实现网页静态化技术的一种手段。FreeMarker的使用率大大超过其他一些技术。对于系统中频繁使用数据库进行查询但是内容更新很小的应用,都可以用FreeMarker将网页静态化,这样就避免了大量的数据库访问请求,从而提高网站的性能。
    展开全文
  • asp.net 页面、静态化、生成静态页面实例 asp.net 页面、静态化、生成静态页面实例 asp.net 页面、静态化、生成静态页面实例 asp.net 页面、静态化、生成静态页面实例
  • 动态语言静态化

    万次阅读 2018-02-06 12:50:06
    一、什么是动态语言静态化 将现有PHP等动态语言的逻辑代码生成为静态html文件,用户访问动态脚本重定向到静态html的过程 注 : 对实时性要求不高的页面才适合去做动态语言静态化   二、为什么要静态化 1. 动态...

    一、什么是动态语言静态化

    将现有PHP等动态语言的逻辑代码生成为静态html文件,用户访问动态脚本重定向到静态html的过程

    注 : 对实时性要求不高的页面才适合去做动态语言静态化

     

    二、为什么要静态化

    1. 动态脚本通常会做逻辑计算和数据查询,访问量越大,服务器压力越大

    2. 访问量大时可能会造成CPU负载过高,数据库服务器压力过大

    3.  静态化可以降低逻辑处理压力,降低数据库服务器查询压力

     

    三、静态化的实现方式

    第一种:使用模板引擎

    ( 1 ) 可以使用smarty的缓存机制生成静态html缓存文件

    $smarty->cache_dir = $ROOT."/cache"; //缓存目录
    $smarty->caching = true;//是否开启缓存
    $smarty->cache_lifetime = '3600';//缓存时间

    $smarty->display(string template [, string cache_id [,string compile_id]]);

    备注:cache_id 缓存id;  compile_id 编译文件id

    (2)  清除smarty缓存

    $smarty->clear_all_cache();//清除所有缓存
    $smarty->clear_cache('file.html'); //清除指定的缓存
    $smarty->clear_cache('article.html',$art_id); //清除该模板下的指定缓存号的缓存

     

    第二种: 利用ob系列的函数做静态化缓存 (推荐)

    (1) 相关函数

    ob_start();//打开输出控制缓冲
    ob_get_contents();//返回输出缓冲区内容
    ob_clean();//清空输出缓冲区
    ob_end_flush();//冲刷出(送出)输出缓冲区内容并关闭缓冲

    (2) 示例:

    <?php
    $cache_name = md5(__FILE__).'.html';//定义之后生成缓存文件的文件名
    
    $cache_lifetime = 3600;//定义过期时间为1小时
    
    //限制条件,条件符合,就加载缓存文件
    if(filemtime(__FILE__) <= filemtime($cache_name) && file_exists($cache_name) && filectime($cache_name) + $cache_lifetime > time())
    {
    
        include $cache_name;//如果在缓存之后没有进行过修改,并且文件存在,并且没有过期,我们就加载文件,并且下面内容不再访问
        var_dump(filemtime());//测试时用的,看修改文件时,是否还能够读取缓存文件
        exit;
    }
    
    ob_start(); //开启缓存
    
    ?>
    
        =========这部分是我们要缓存的内容========
    
    
    <?php
    
    $content = ob_get_contents(); //获取缓存区的内容
    
    ob_end_flush();//关闭缓存区
    
    $handle = fopen($cache_name,'w');//将文件以写的方式打开
    
    fwrite($handle,$content);//将我们获取到的缓存内容$content写入我们定义好的缓存文件
    
    fclose($handle); //关闭打开的文件资源
    
    ?>
    

     

    现在访问浏览器

    与此同时,还生成了一个缓存文件,内容和从php文件中获取到的是一样的

    现在,我们没有修改文件,再刷新浏览器,会出现我们在if语句中输出的filemtime,这证明if满足,已经在读取缓存文件了

    现在,我们再修改一下文件,在文字后面加了一个+,如果浏览器显示这个+,并且不输出文件的修改时间,就证明读取的不是缓存文件

    浏览器显示:

    浏览器显示结果带 + , 证明文件修改之后,就重新读取文件,然后再刷新

    结果证明: 因为文件没有再被修改,所以又读取缓存文件了

     

     

    代码源码下载: http://download.csdn.net/download/m_nanle_xiaobudiu/10242029

    展开全文
  • [笔记] 前端静态化和伪静态

    千次阅读 2019-06-17 09:49:02
    先看看别人对静态化的理解。 网页静态化有很多含义,在WEB开发中,静态网页一般理解为网站中大部分超级链接所引用的页面是单独的HTML静态页面文件(如*.htm、*.html等页面文件)。在ASP.NET中(ASP、PHP或JSP也...
  • 大型网站的页面静态化

    万次阅读 多人点赞 2019-07-10 20:21:38
    目录 前言 ... 伪静态 布局样式模板化 应用层nginx ...很多小伙伴们就会提出他们都采用了静态化的方案,这样用户请求直接获取静态数据html,就不需要访问数据库了,性能就会大大提高;而且提高网站SE...
  • java网站页面静态化方案

    万次阅读 2017-09-17 01:04:35
    为什么都要把页面静态化呢?把页面静态化,好处有很多。例如:访问速度快,更有利于搜索引擎收录等。目前主流的静态化主要有两种: (1)一种是通过程序将动态页面抓取并保存为静态页面,这样的页面的实际存在于...
  • nginx静态化技术

    千次阅读 2018-05-04 21:48:31
     静态化技术就是让用户访问的资源变成静态html页面,针对一些访问量大、不改动或者改动不频繁的业务,比如商品详情页(上架后数据基本不会变化)。生成的静态页面html放在nginx服务器上(Tomcat的上一级),用户...
  • asp伪静态化/asp静态化/ASPURL重写/IIS Rewrite/RewriteRule/
  • Thymeleaf实现页面静态化

    千次阅读 2020-06-05 11:36:07
    Thymeleaf实现页面静态化 前言 之前学习过的Redis。不过Redis适合数据规模比较小的情况。假如数据量比较大,例如我们的商品详情页。每个页面如果10kb,100万商品,就是10GB空间,对内存占用比较大。此时就给缓存系统...
  • PHP静态化技术之真静态

    千次阅读 2016-10-21 17:08:32
    PHP静态化技术分为两种:真静态技术 和伪静态技术。 什么是真静态技术?我们把.html文件称为静态文件。所以,真静态技术就是生成静态文件的技术。 在讨论PHP生成静态文件的技术之前,需要弄明白一点。这个技术针对的...
  • PHP实现页面静态化——局部动态化

    千次阅读 2016-03-05 18:52:54
    上回说到:PHP实现页面静态化——全部纯静态化   这次实现PHP的局部动态化,也就是说静态化的页面存在“动态”过程,结合全部静态化技术+Ajax技术实现局部动态化,局部更新页面。  在上文的数据库基础上,在...
  • 静态化总体基本思路

    千次阅读 2017-02-28 20:45:25
    静态化一方面是为了提升访问性能,另一方面要保证数据实时性。 **静态化前提是模板 + 数据的渲染引擎,例如基于java的velocity以及Thymeleaf,基于Ruby的erb, haml, slim,基于nodejs 的 jade、ejs、swig,前端的 ...
  • php实现静态化总结

    千次阅读 2018-01-07 19:25:07
    页面静态化操作,包括两种:一种是静态化,一种是伪静态化静态化又包括:完全静态化和局部静态化。下面逐一进行介绍:   完全静态化 就是将整个页面进行静态化,可以使用php缓冲区函数,将缓冲区内容输入到...
  • PHP实现页面静态化

    千次阅读 2016-05-12 23:21:44
    为什么要页面静态化?1.动态文件执行过程:语法分析-编译-运行 2.静态文件,不需要编译,减少了服务器脚本运行的时间,降低了服务器的响应时间,直接运行,响应速度快;如果页面中一些内容不经常改动,动态页面静态...
  • php实现页面纯静态化的最终目的就是生成纯html文件,而这个纯html文件就存放在服务器的磁盘当中; php实现页面纯静态化需要的东西: 1、文件写入函数 file_put_contents()、或者fopen()、fwrite()、fclose()等函数; ...
  • 为什么都要把页面静态化呢?把页面静态化,好处有很多。例如:访问速度快,更有利于搜索引擎收录等。目前主流的静态化主要有两种:一种是通过程序将动态页面抓取并保存为静态页面,这样的页面的实际存在于服务器的...
  • 页面静态化技术深入探究

    千次阅读 2016-10-20 12:52:10
    一、页面静态化的必要性 随着网站的内容的增多和用户访问量的增多,无可避免的是网站加载会越来越慢,受限于带宽和服务器同一时间的请求次数的限制,我们往往需要在此时对我们的网站进行代码优化和服务器配置的优化...
  • 什么是静态化 静态化是指把动态生成的HTML页面变为静态内容保存,以后用户的请求到来,直接访问静态页面,不再经过服务的渲染。 而静态的HTML页面可以部署在nginx中,从而大大提高并发能力,减小tomcat压力。 如何...
  • php页面静态化之真静态

    千次阅读 2013-12-04 11:56:34
    页面静态化是网站提速和搜索引擎优化的利刃,作为程序员我觉得也应该适当的掌握下这们技术,这个技术我相信会很有用。
  • 页面静态化

    万次阅读 2013-06-18 20:26:59
    2,页面静态化 3,memcache(内存缓存) 4,服务器集群技术     总的目标:提高网站的访问速度,SEO目的:提高网站的排名,(解决的是速度) SEO: google 的优化,百度的优化:   今天先从页面静态化来讲...
  • 网页静态化和网页伪静态化,如果我们是一个不懂网站的人估计听到这些词可能会比较头晕,王晟璟在刚开始接触并尝试建设自己的个人博客网站的时候也是如此,看了很多关于这方面的资料也还是云里雾里的,不过后面终于整...
  • 动态JSP页面静态化,html输出

    热门讨论 2009-03-05 15:43:35
    把你的JSP动态页面静态化。把你的JSP动态页面静态化。把你的JSP动态页面静态化。把你的JSP动态页面静态化
  • HTML页面静态化技术

    千次阅读 2018-08-30 16:22:59
    随着网站的内容的增多和用户访问量的增多,...技术点:首页静态化,详情页面静态化,定时任务,异步任务 所谓的静态化技术就是 将查询好的数据填充到模板中,然后将生成的html写入到指定的文件中 静态处理后又给...
  • php页面静态化实现思路

    千次阅读 2015-03-23 17:17:58
    这里的要点是对不常变化的内容做静态化,如:新闻,博客等。而经常变化的内容,如微博,就不适合做静态化。对于那种,大部分是不变内容,但部分是经常变动的内容,如新闻页包含有最新评论,这样的页面,也可以做静态...
  • 网站优化---页面静态化技术

    千次阅读 2018-03-14 21:07:49
    页面静态化技术

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,385,591
精华内容 554,236
关键字:

静态化