发表时间:2014-09-05来源:网络
之前的缓存和现在所说的页面静态化都是为网站提速的,如果是访问量小的小型网站可能不需要但是如果网站规模或访问量很大,那么页面静态化和缓存就会体现出各自的价值了下面先来了解下页面静态化的分类
页面静态化的分类:
1,按照形式:
1)真静态
2)伪静态
2,按照范围:
1)局部静态话(jquery,ajax)
2)全部静态化
页面静态化可以为网站提速还能进行seo优化,因为搜索引擎偏向抓取静态页面,针对不同的搜索引擎seo的标准可能不同。下面提供一个百度搜索引擎优化的链接
这次给大家分享的是页面真静态技术,本次将以一个简单的新闻管理系统为例子介绍真静态技术的使用,项目使用mvc架构来弄
一.真静态的理解
真静态就是把我们先前访问的jsp,php,aspx变为html,保留先前的页面效果和业务逻辑,减轻服务器的压力、让网站被良好的收录。但是真静态也有缺点那就是过多的静态页面占用了服务器空间,维护不是很方便。
二 开始静态化新闻管理系统
1.通过列表页面以最快速度查看单条数据的详细信息(如通过新闻列表查看某一条新闻的详细内容)
如果没有静态化的前提下,我们的做法可能是通过点击列表页面的标题传一个ID过去,之后查询出单条数据之后显示在一个页面上,这样我们每次点击链接都会去访问一次数据库,这样服务器的压力必然变大,可取的做法是每次添加数据都生成对应的详细页面
(1)简单的后台管理页面
(2)添加新闻的操作
if(add==$opper){ $news=new NewsManagerImpl(); $title=$_POST[title]; $content=$_POST[content]; $result=$news->addNews($title, $content); if($result>0){ //生成静态html(用于查询单条数据) $fp=fopen(../static/news-id-.$result..html, w); $ftpl=fopen(../tpl/newsDetail.tpl, r); while(!feof($ftpl)){ $row=fgets($ftpl); //替换相应的位置 $row=str_replace({title}, $title, $row); $row=str_replace({content}, $content, $row); fwrite($fp, $row); } fclose($ftpl); fclose($fp); header(Location:../manage/success.html); } exit();}
新闻标题 | 新闻内容 |
---|---|
{title} | {content} |
这一部分的工作其实很简单,就看你能不能想的上去,像修改、删除我们可以按照原来的做法,该怎么弄就怎么弄,只需要定期更新静态化后的列表页就可以了,更新的频率按照自身需要即可。
下面是我的做法:
if(updatecache==$opper){ $rowInfo=; $listInfo=; $news=new NewsManagerImpl(); $all=$news->getAllNews(); for ($i = 0; $i < count($all); $i++) { $row=$all[$i]; //拼接列表信息 $listInfo.=; $listInfo.={$row['id']}; $listInfo.={$row['title']}; $listInfo.=查看; //$listInfo.=删除; //$listInfo.=修改; $listInfo.= ; } //列表页静态化 $listTpl=fopen(../tpl/newsList.tpl, r); while(!feof($listTpl)){ $rowInfo.=fgets($listTpl); } $all=str_replace({newsContent}, $listInfo , $rowInfo); $staticListFp=fopen(../static/newsList.html, w); fwrite($staticListFp, $all); fclose($listTpl); fclose($staticListFp); header(Location:../manage/success.html);}
后台的话一般不用考虑静态化,因为后台是给自己看的,只要性能不是很差静态化意义不大。
上一篇:纯php多文件上传
下一篇:PHP分页实现(附效果图)
CI框架连接数据库配置操作以及多数据库操作
asp 简单读取数据表并列出来 ASP如何快速从数据库读取大量数据
C语言关键字及其解释介绍 C语言32个关键字详解
C语言中sizeof是什么意思 c语言里sizeof怎样用法详解
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
PHP中include和require区别之我见
PHP中的(++i)前缀自增 和 (i++)后缀自增
将视频设置为Android手机开机动画的教程
php递归返回值的问题
掌上小满app(又名OKKI)下载v6.24.2 安卓版
108.1M |商务办公
星巴克中国官方版app下载v10.9.3 安卓版
138.0M |生活服务
abc reading app手机版下载v7.3.35 安卓最新版本
218.9M |学习教育
智慧联想摄像头app(更名智享家)下载v4.1.6.2 安卓最新版本
211.4M |生活服务
星通货主app下载v902 安卓版
142.5M |生活服务
火花思维官方版下载v2.1.1 安卓手机版
208.6M |学习教育
火山小视频极速版2025(改名抖音火山版)下载v33.4.0 安卓官方正版
248.5M |影音播放
泰州通app下载v2.2.2 安卓版
126.9M |商务办公
2022-03-21
2022-03-17
2014-09-05
2014-09-05
2015-07-05
2022-03-21
2014-09-05
2014-09-05
2014-09-05
2022-03-20