传智播客韩顺平大型网站核心技术页面静态化课件_第1页
传智播客韩顺平大型网站核心技术页面静态化课件_第2页
传智播客韩顺平大型网站核心技术页面静态化课件_第3页
传智播客韩顺平大型网站核心技术页面静态化课件_第4页
传智播客韩顺平大型网站核心技术页面静态化课件_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、为大型网站提速 -页面静态化讲师:韩顺平email:hanshunpingqq: 2403931377学习内容 主讲:韩顺平页面静态化基本概念页面静态化好处是什么?php如何实现页面静态化页面静态化实例-新闻管理系统明确几个重要概念 主讲:韩顺平 静态网址:纯静态HTML文档 动态网址:内容存于数据库中,根据要求显示内容,URL中以 ?, & 显示不同的参数,如:news.php?lang=cn&class=1&id=2 伪静态网址:伪静态仅仅是对动态网址的一个重写,伪静态网址不能让动态网址“静态化” ,搜索引擎不会认为伪静态就是HTML文档。其次,伪静态可取,但应把重心放在去除冗余参数、规范

2、URL、尽可能的避免重复页上。 举例说明: 这是一个动态网址 news.php?lang=cn&class=1&id=2,从seo的角度来看, 最好重写为 news-cn-class1-id2.html。这样的也更加有效的防止sql注入攻击 但是也不要精简重写为 news-2.html,这样简写同样不利于搜索引擎优化.页面静态化概念 主讲:韩顺平 页面静态化概念我们大多数情况下是直接访问php文件,php脚本在服务器端执行并返回信息,对于一些大型的网站,访问量很大,频繁的动态操作和操作数据库会加重服务器的负担.在实际开发中,通常使用缓存技术()或者页面静态化来解决页面静态化分为: 真静态 -把

3、 php-html 访问时就不操作数据库 伪静态 -只是把网址静态 (访问数据库)页面静态化的必要性1 主讲:韩顺平页面静态化的必要性2 主讲:韩顺平从seo的角度来,google,baidu 更偏好静态网址(伪静态网址),比如: news.php?lang=cn&class=1&id=2 这样的动态网址,不如news-cn-class1-id2.html ,这样的格式.使用php缓存机制完成页面静态化 主讲:韩顺平我们可以使用php自带的缓存机制来完成页面静态化,但在这里我要说明一点,仅靠php自身的缓存机制并不能完美的解决页面静态化,往往需要和其它静态化技术(通常是伪静态技术)结合使用,例

4、子:当访问一个页面时,先判断是否存在缓存,如果存在,则直接输出缓存文件中的内容。否则,则先查询数据库,获得数据,然后生成缓存文件。详解PHP的缓存机制(图), Output_buffering ,常用的函数包括 ob_start() ob_get_contents() ,ob_clean(),ob_end_clean() ob_end_flush() ob_flush() flush()关于PHP经常有面试题.简述ob_flush() 和flush()的区别? 简述PHP缓存机制.使用php缓存机制-测试题 主讲:韩顺平使用php缓存机制完成页面静态化 主讲:韩顺平综合运用案例-新闻管理系统使

5、用php缓存机制完成页面静态化 主讲:韩顺平单纯使用php缓存机制完成页面静态的不足分析解决方案(真静态和伪静态技术.)页面静态化(真静态)-原理示意图 主讲:韩顺平简单的说: 页面静态化技术就是要把php-html直接访问,从而减少对数据库的操作,达到提高访问速度示意图基本流程是:1.创建模板文件template.html 2.通过模板文件,创建静态页面的 php文件 xx.php3. 用户访问生成的静态页面 xx.html快速入门案例(根据模板生成静态页面)数据库和页面静态化(真静态)结合 主讲:韩顺平静态页面通常和数据库应用有关联,我们以一个实际的新闻管理系统来看看它们是如何结合的:我们

6、看看下面的几个页面用传统的方法是怎样处理的?数据库和页面静态化(真静态)结合 主讲:韩顺平静态页面内容的修改如何处理?数据库和页面静态化(真静态)结合 主讲:韩顺平课堂练习-学员完成删除新闻任务.伪静态 1 主讲:韩顺平比如这个网页 http:/localhost/content.php/1,122,8912.html其实处理的脚本是content.php 参数为1,122,8912 相当于content.php?a=1&b=122&c=8912 只不过这样的URL太难记。搜索引擎也不喜欢。 真静态只是完全生成了HTML。 客户端访问的时候直接输出。不用脚本解释。在流量非常大的时候(比如每天有

7、上百万的访问量的时候)会起到很好的效果。也就是说服务器端实实在在的存在这个HTML页面。 当然在你网站的流量没有那么大的时候。URL重写是最好的方法(如果访问量很大,还可以考虑负载均衡) URL重写的方法有很多种,APACHE(rewrite),IISREWRITE。PHP脚本直接处理。我们先讲解如何使用PHP脚本直接处理。伪静态 2 主讲:韩顺平下面以程序为例讲一下PHP伪静态的程序实现方法程序为例: http:/localhost/content.php/1,122,8912.html 伪静态 3 主讲:韩顺平下面以程序为例讲一下另外一种形式的PHP伪静态的程序实现方法程序为例: /new

8、s-id23.html实现上面形式的伪静态当然可以通过php程序的正则表达式来实现(学员课堂练习题),我们使用另外一种方式,通过apache的 rewrite机制来实现.伪静态4 主讲:韩顺平下面以程序为例讲一下另外一种形式的PHP伪静态的程序实现方法程序为例: /news-id23.html我们使用另外一种方式,通过apache的 rewrite机制来实现.1.检测Apache是否支持mod_rewrite通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_

9、rewrite”,则已经支持,不再需要继续设置。如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。伪静态5 主讲:韩顺平2.在httpd.conf中配置虚拟主机# Virtual host

10、s 启用虚拟主机Include conf/extra/httpd-vhosts.conf 3.httpd_vhosts.conf文件中,配置相应的选项.详细讲解 DocumentRoot C:/myenv/apache/htdocs/static3 ServerName #Deny from All 403错误提示Allow from All#如果文件目录在apache目录外面,注释掉optinos 则,不能列表.options +Indexes#下面这个表示可以去读取 .htaccess文件,也可以直接在虚拟主机中配置.Allowoverride AllRewriteEngine OnRew

11、riteRule news-id(d+).html$ error.php?id=$1#这里可以设置多个重写的规则#RewriteRule news-id.html$ error.php 伪静态 6 主讲:韩顺平4.在相应的目录下编写.htaccess 重写规则如果在linux下可以直接创建,如果是在windows平台下,用记事本创建一个文件,比如abc.txt,然后另存为 .htaccess文件即可5.重写规则,也可以直接在配置虚拟主机的段配置.伪静态特点 主讲:韩顺平url重写(伪静态)的好处:一,可以方便的实现对化化引擎的优化,并且比生成静态更加方便。二、占空间比较小。三、首页每天都自动变

12、化,不用维护。网站首页一般都有热点排行之类的,你可以设为,24小时排行,一周排行,再加上最新文章,最新点评等。这样首页天天是有变化的。四,便于广告的轮显。比如:你可以把art1234.php,这个虚成n个页,如art_1234.php,news_1234.php,top_1234.php,在不同的页面放不同的广告.总之是动态的,你就可以随意动。url重写的缺点:我看只有一个,那就是效率不如生成html的,因为它不是真正意义上的静态页,每次请求是要读取数据库的。但你可以用缓存技术来补偿一下。 如果一个网站使用真静态技术,会生成海量的html静态页面,可以考虑使用伪静态技术来优化我们的网站伪静态+缓存实际运用 主讲:韩顺平这里我们使用伪静态+缓存实际运用一下真静态和伪静态的选择 主讲:韩顺平什么情况下不适合使用静态化技术.网站实时性要求高,不要使用静态化(真静态,伪静态均不适宜).如果网站访问量较小,没有必要使用静态化技术如果数据项目不多,但是访问频率极大,建议使

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论