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

下载本文档

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

文档简介

1、高级软件人才实作培训专家高级软件人才实作培训专家! !为大型网站提速为大型网站提速 -页面静态化页面静态化讲师:讲师:韩顺平韩顺平email:qq: 2403931377高级软件人才实作培训专家高级软件人才实作培训专家! !学习内容 主讲:韩顺平1.页面静态化基本概念2.页面静态化好处是什么?3.php如何实现页面静态化4.页面静态化实例-新闻管理系统高级软件人才实作培训专家高级软件人才实作培训专家! !明确几个重要概念 主讲:韩顺平l 静态网址:纯静态html文档l 动态网址:内容存于数据库中,根据要求显示内容,url中以 ?, & 显示不同的参数,如:news.php?lang=c

2、n&class=1&id=2l 伪静态网址:伪静态仅仅是对动态网址的一个重写,伪静态网址不能让动态网址“静态化” ,搜索引擎不会认为伪静态就是html文档。其次,伪静态可取,但应把重心放在去除冗余参数、规范url、尽可能的避免重复页上。 举例说明: 这是一个动态网址 news.php?lang=cn&class=1&id=2,从seo的角度来看, 最好重写为 news-cn-class1-id2.html。这样的也更加有效的防止sql注入攻击 但是也不要精简重写为 news-2.html,这样简写同样不利于搜索引擎优化.高级软件人才实作培训专家高级软件人才实作培

3、训专家! !页面静态化概念 主讲:韩顺平 页面静态化概念页面静态化概念我们大多数情况下是直接访问我们大多数情况下是直接访问php文件文件,php脚本在服务器端执行并脚本在服务器端执行并返回信息返回信息,对于一些大型的网站对于一些大型的网站,访问量很大访问量很大,频繁的动态操作和操作频繁的动态操作和操作数据库会加重服务器的负担数据库会加重服务器的负担.在实际开发中,通常使用缓存技术在实际开发中,通常使用缓存技术()或者或者页面静态化页面静态化来解决来解决n页面静态化分为: 真静态 -把 php-html 访问时就不操作数据库 伪静态 -只是把网址静态 (访问数据库)高级软件人才实作培训专家高级软

4、件人才实作培训专家! !页面静态化的必要性1 主讲:韩顺平 我们看一个实际问题? 使用apache提供的 benchmarking tool来测试下面的两个程序,看看访问各种访问的时间是怎样的?lapache/bin/ab.exe 程序可以来做效率测试l基本使用:ab options https:/hostname:port/pathoptions是选项:-n 执行访问次数-c 用户并发数量for($i=0;$i100;$i+)echo $i;l直接使用html输出for循环的信息.01.99高级软件人才实作培训专家高级软件人才实作培训专家! !页面静态化的必要性1 主讲:韩顺平高级软件人才实

5、作培训专家高级软件人才实作培训专家! !页面静态化的必要性2 主讲:韩顺平l从seo的角度来,google,baidu 更偏好静态网址(伪静态网址),比如: news.php?lang=cn&class=1&id=2 这样的动态网址,不如news-cn-class1-id2.html ,这样的格式.高级软件人才实作培训专家高级软件人才实作培训专家! !页面静态化的必要性3 主讲:韩顺平l从安全的角度来看news-cn-class1-id2.html 更不容易被sql注入攻击。高级软件人才实作培训专家高级软件人才实作培训专家! !使用php缓存机制完成页面静态化 主讲:韩顺平我们

6、可以使用php自带的缓存机制来完成页面静态化,但在这里我要说明一点,仅靠php自身的缓存机制并不能完美的解决页面静态化,往往需要和其它静态化技术(通常是伪静态技术)结合使用,l例子:当访问一个页面时,先判断是否存在缓存,如果存在,则直接输出缓存文件中的内容。否则,则先查询数据库,获得数据,然后生成缓存文件。l详解php的缓存机制(图), output_buffering ,常用的函数包括 ob_start() ob_get_contents() ,ob_clean(),ob_end_clean() ob_end_flush() ob_flush() flush()关于php经常有面试题.简述o

7、b_flush() 和flush()的区别? 简述php缓存机制.高级软件人才实作培训专家高级软件人才实作培训专家! !使用php缓存机制-测试题 主讲:韩顺平高级软件人才实作培训专家高级软件人才实作培训专家! !使用php缓存机制完成页面静态化 主讲:韩顺平l综合运用案例-新闻管理系统高级软件人才实作培训专家高级软件人才实作培训专家! !使用php缓存机制完成页面静态化 主讲:韩顺平l单纯使用php缓存机制完成页面静态的不足分析l解决方案(真静态和伪静态技术.)高级软件人才实作培训专家高级软件人才实作培训专家! !页面静态化(真静态)-原理示意图 主讲:韩顺平简单的说简单的说: 页面静态化技

8、术就是要把页面静态化技术就是要把php-html直接访问,从直接访问,从而减少对数据库的操作,达到提高访问速度而减少对数据库的操作,达到提高访问速度示意图l基本流程是:1.创建模板文件template.html 2.通过模板文件,创建静态页面的 php文件 xx.php3. 用户访问生成的静态页面 xx.htmll快速入门案例(根据模板生成静态页面)高级软件人才实作培训专家高级软件人才实作培训专家! !数据库和页面静态化(真静态)结合 主讲:韩顺平静态页面通常和数据库应用有关联,我们以一个实际的新闻管理系静态页面通常和数据库应用有关联,我们以一个实际的新闻管理系统来看看它们是如何结合的统来看看

9、它们是如何结合的:我们看看下面的几个页面用传统的方法是怎样处理的我们看看下面的几个页面用传统的方法是怎样处理的?高级软件人才实作培训专家高级软件人才实作培训专家! !数据库和页面静态化(真静态)结合 主讲:韩顺平使用静态页面技术如何处理,在添加新闻的时候完成两件事情使用静态页面技术如何处理,在添加新闻的时候完成两件事情:添加数据到数据库添加数据到数据库同时生成对应的新闻详细信息显示静态页面同时生成对应的新闻详细信息显示静态页面高级软件人才实作培训专家高级软件人才实作培训专家! !数据库和页面静态化(真静态)结合 主讲:韩顺平静态页面内容的修改如何处理静态页面内容的修改如何处理?高级软件人才实作

10、培训专家高级软件人才实作培训专家! !数据库和页面静态化(真静态)结合 主讲:韩顺平课堂练习课堂练习-学员完成删除新闻任务学员完成删除新闻任务.高级软件人才实作培训专家高级软件人才实作培训专家! !页面静态化(真静态)的优点和缺点 主讲:韩顺平lhtml静态页(真静态)的好处有三点;一是减少服务器对数据响应的负荷,二是加载不用调动数据库,响应速度快。三是便于优化引擎。缺点也有几点:一是空间占用比较大。二是生成的文件多了,服务器对html文件的响应负担也较重。l如果一个系统使用真静态进行页面静态化,需要生成海量的静态页面,我们可以考虑使用伪静态来处理.高级软件人才实作培训专家高级软件人才实作培训

11、专家! !伪静态 1 主讲:韩顺平比如这个网页 http:/localhost/content.php/1,122,8912.html其实处理的脚本是content.php 参数为1,122,8912 相当于content.php?a=1&b=122&c=8912 只不过这样的url太难记。搜索引擎也不喜欢。 真静态只是完全生成了html。 客户端访问的时候直接输出。不用脚本解释。在流量非常大的时候(比如每天有上百万的访问量的时候)会起到很好的效果。也就是说服务器端实实在在的存在这个html页面。 当然在你网站的流量没有那么大的时候。url重写是最好的方法(如果

12、访问量很大,还可以考虑负载均衡) url重写的方法有很多种,apache(rewrite),iisrewrite。php脚本直接处理。我们先讲解如何使用php脚本直接处理。高级软件人才实作培训专家高级软件人才实作培训专家! !伪静态 2 主讲:韩顺平下面以程序为例讲一下php伪静态的程序实现方法程序为例: http:/localhost/content.php/1,122,8912.html 高级软件人才实作培训专家高级软件人才实作培训专家! !伪静态 3 主讲:韩顺平下面以程序为例讲一下另外一种形式的php伪静态的程序实现方法程序为例: http:/ rewrite机制来实现.高级软件人才实

13、作培训专家高级软件人才实作培训专家! !伪静态4 主讲:韩顺平下面以程序为例讲一下另外一种形式的php伪静态的程序实现方法程序为例: http:/ rewrite机制来实现.1.检测检测apache是否支持是否支持mod_rewrite通过php提供的phpinfo()函数查看环境配置,通过ctrl+f查找到“loaded modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.c

14、onf 文件,通过ctrl+f查找到“loadmodule rewrite_module”,将前面的”#”号删除即可。如果没有查找到,则到“loadmodule” 区域,在最后一行加入“loadmodule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。高级软件人才实作培训专家高级软件人才实作培训专家! !伪静态5 主讲:韩顺平2.在在httpd.conf中配置虚拟主机中配置虚拟主机# virtual hosts 启用虚拟主机include conf/extra/httpd-vhosts.conf 3.httpd_

15、vhosts.conf文件中,配置相应的选项文件中,配置相应的选项.详细讲解详细讲解 documentroot c:/myenv/apache/htdocs/static3 servername #deny from all 403错误提示allow from all#如果文件目录在apache目录外面,注释掉optinos 则,不能列表.options +indexes#下面这个表示可以去读取 .htaccess文件,也可以直接在虚拟主机中配置.allowoverride allrewriteengine onrewriterule news-id(d+).html$ error.php?i

16、d=$1#这里可以设置多个重写的规则#rewriterule news-id.html$ error.php 高级软件人才实作培训专家高级软件人才实作培训专家! !伪静态 6 主讲:韩顺平4.在相应的目录下编写在相应的目录下编写.htaccess 重写规则重写规则如果在linux下可以直接创建,如果是在windows平台下,用记事本创建一个文件,比如abc.txt,然后另存为 .htaccess文件即可5.重写规则,也可以直接在配置虚拟主机的重写规则,也可以直接在配置虚拟主机的段配置段配置.高级软件人才实作培训专家高级软件人才实作培训专家! !伪静态 7 主讲:韩顺平 rewrite规则介绍规

17、则介绍我们新建一个.htaccess文件之后,就在里面写入以下内容:rewriteengine on #rewriteengine为重写引擎开关on为开启off为关闭快速入门案例:rewriterule (0-91,)$ index.php?id=$1我讲解一下rewriterule:rewriterule是重写规则,支持正则表达式的,上面的(0-91,)是指由数字组成的,$是结束标志,说明是以数字结束!现在我们可以实现伪静态页面了,我们希望把用户输入的 http:/localhost/view-23.html ulr 重新被重新被apache替换成替换成http:/localhost/ind

18、ex.php?action=view&id=23 这个规则应当怎样写这个规则应当怎样写? 在在.htaccess目录下创建一个目录下创建一个index.php看看能否得到看看能否得到apache改写改写后的后的url $_getaction = view$_getid = 23高级软件人才实作培训专家高级软件人才实作培训专家! !伪静态特点 主讲:韩顺平url重写(伪静态)的好处:一,可以方便的实现对化化引擎的优化,并且比生成静态更加方便。二、占空间比较小。三、首页每天都自动变化,不用维护。网站首页一般都有热点排行之类的,你可以设为,24小时排行,一周排行,再加上最新文章,最新点评等。

19、这样首页天天是有变化的。四,便于广告的轮显。比如:你可以把art1234.php,这个虚成n个页,如art_1234.php,news_1234.php,top_1234.php,在不同的页面放不同的广告.总之是动态的,你就可以随意动。url重写的缺点:我看只有一个,那就是效率不如生成html的,因为它不是真正意义上的静态页,每次请求是要读取数据库的。但你可以用缓存技术来补偿一下。 如果一个网站使用真静态技术,会生成海量的html静态页面,可以考虑使用伪静态技术来优化我们的网站高级软件人才实作培训专家高级软件人才实作培训专家! !伪静态+缓存实际运用 主讲:韩顺平l这里我们使用伪静态这里我们使用伪静态+缓存实际运用一下缓存实际运用一下高级软件人才实作培

温馨提示

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

评论

0/150

提交评论