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

下载本文档

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

文档简介

学习内容主讲:韩顺平页面静态化基本概念页面静态化好处是什么?php如何实现页面静态化页面静态化实例-

管理系统明确几个重要概念主讲:韩顺平静态:纯静态HTML文档址:内容存于数据库中,根据要求显示内容,URL中以?,&显示不同的参数,如:&class=1&id=2址的一个重写,伪静态

不伪静态

:伪静态仅仅是对能让

址“静态化”

,搜索引擎不会认为伪静态就是HTML文档。其次,伪静态可取,但应把重心放在去除冗余参数、规范URL、尽可能的避免重复页上。举例说明:这是一个

址来看,最好重写为止sql注入&class=1&id=2,从seo的角度-sport-id2.html。这样的也更加有效的防☞

但是也不要精简重写为news-2.html,这样简写同样不利于搜索引擎优化.页面静态化概念主讲:韩顺平php文件,php

在服务器端执行并,

量很大,频繁的动态操作和操作页面静态化概念大多数情况下是直接返回信息,对于一些大型的数据库会加重服务器的负担.在实际开发中,通常使用缓存技术(memcached)或者页面静态化来解决从静态化形式看,页面静态化分为:①真静态②伪静态从静态范围看,页面静态化分为:①整个页面静态化②局部静态化(jquery)页面静态化的必要性1主讲:韩顺平看一个实际问题?

使用apache提供的

ben arking

tool来测试下面的两个程序,看看for($i=0;$i<100;$i++){echo

"$i";}各种的时间是怎样的?直接使用html输出for循环的信息.01......99apache/bin/ab.exe

程序可以来做效率测试基本使用:ab

[options]

[http[s]://]hostname[:port]/pathoptions是选项:-n

执行

次数-c

用户并发数量页面静态化的必要性1主讲:韩顺平页面静态化的必要性2主讲:韩顺平从seo的角度来,如:,baidu

更偏好静态&class=1&id=2

这样的(伪静态

),比址,不如-sport-id2.html,这样的格式.页面静态化的必要性3主讲:韩顺平从安全的角度来看击。-sport-id2.html

更不容易被sql注入攻使用php缓存机制完成页面静态化主讲:韩顺平可以使用php自带的缓存机制来完成页面静态化,但在这里我要说明一点,仅靠php自身的缓存机制并不能完美的解决页面静态化,往往需要和其它静态化技术(通常是伪静态技术)结合使用,例子:(查询系统)当一个页面时,先判断是否存在缓存,如果存在,则直接输出缓存文件中的内容。否则,则先查询数据库,获得数据,然后生成缓存文件。详解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缓存机制-测试题主讲:韩顺平<?phpob_start();

echo

"abc";header("content-type:text/html;charset=utf-8");echo

"

o";ob_clean();echo

"aa";header("content-type:text/html;charset=utf-8");?><?phpob_start();

echo

"abc";header("content-type:text/html;charset=utf-8");echo

"

o";ob_flush();echo

"aa";echo

ob_get_contents();?><?phpob_start();

echo

"abc";header("content-type:text/html;charset=utf-8");echo

"

o";ob_end_clean();echo

"aa";header("content-type:text/html;charset=utf-8");?><?phpob_start();

echo

"abc";header("content-type:text/html;charset=utf-8");echo

"

o";ob_end_flush();echo

"aa";echo

ob_get_contents();?>使用php缓存机制完成页面静态化主讲:韩顺平综合运用案例-管理系统使用php缓存机制完成页面静态化主讲:韩顺平单纯使用php缓存机制完成页面静态的不足分析解决方案(真静态和伪静态技术.)页面静态化(真静态)--原理示意图主讲:韩顺平简单的说:页面静态化技术就是要把php->html直接而减少对数据库的操作,达到提高 速度[示意图]基本流程是:创建模板文件template.html通过模板文件,创建静态页面的

php文件

xx.php用户

生成的静态页面

xx.html快速入门案例(根据模板生成静态页面),从数据库和页面静态化(真静态)结合主讲:韩顺平使用静态页面技术如何处理,在添加

的时候完成两件事情:①添加数据到数据库②同时生成对应的

详细信息显示静态页面数据库和页面静态化(真静态)结合主讲:韩顺平静态页面内容的修改如何处理?数据库和页面静态化(真静态)结合主讲:韩顺平课堂练习-学员完成删除任务.数据库和页面静态化(真静态)结合主讲:韩顺平首页面实现静态化页面静态化(真静态)的优点和缺点主讲:韩顺平html静态页(真静态)的好处有三点;一是减少服务器对数据响应的负荷,二是加载不用调动数据库,响应速度

是便于优化引擎。缺点也有几点:一是空间占用比较大。二是生成的文件多了,服务

器对html文件的响应负担也较重。如果一个系统使用真静态进行页面静态化,需要生成海量的静态页面,

可以考虑使用伪静态来处理.伪静态主讲:韩顺平伪静态初步介绍如果你希望页面被seo,同时不想生成静态页面,可以考虑使用伪静态技术.说明:比如希望上面的url

变成伪静态1主讲:韩顺平比如这个网页其实处理的 是content.php

参数为1,122,8912相当于content.php?a=1

;b=122 ;c=8912

只不过这样的URL太难记。搜索引擎也不喜欢。真静态只是完全生成了HTML。客户端的时候直接输出。不用解释。在流量非常大的时候(比如每天有上百万的量的时候)会起到很好的效果。也就是说服务器端实实在在的存在这个HTML页面。当然在你 的流量没有那么大的时候。URL重写是最好的方法(如果访问量很大,还可以考虑负载均衡)URL重写的方法有很多种,APACHE(rewrite),IISREWRITE。PHP

直接处理。 先讲解如何使用PHP

直接处理。伪静态2主讲:韩顺平下面以程序为例讲一下PHP伪静态的程序实现方法程序为例:<?php//利用server变量取得PATH_INFO信息该例中为/1,122,8912.html

也就是执行 名后面的部分}else

die("Path:Error!");}else

die('Path:Nothing!');?>面试题:匹配模式中的s表示什么意思.if(@$path_info

=$_SERVER["PATH_INFO"]){//正则匹配一下参数if(preg_match("/\/(\d+),(\d+),(\d+)\.html/si",$path_info,$arr_path)){$gid=intval($arr_path[1]);//取得值1$sid=intval($arr_path[2]);//取得值122$softid=intval($arr_path[3]);//取得值8912正则案例:四个任意数字

xxx-yyy-zzzxxx-yzy-xxx伪静态2主讲:韩顺平课堂小练习:作业:给你一个字符串.$str="alkfjlda111-444-999alkfd111-444-888lsakf9008";请你,找出符合类似888-000-222

的字符串,并指定取出满足该条件的第二个字符串的第三组数,比如这里要求大家取出

888

请练习课堂小练习:作业:给你一个字符串.$str=“jakfdl,韩顺平abc";请你,找出其中的中文?伪静态3主讲:韩顺平下面以程序为例,讲一下另外一种形式的PHP伪静态的实现方法例:

/news-music-id23.html实现上面形式的伪静态使用另外 式,通过apache的

rewrite机制来实现.伪静态4主讲:韩顺平下面以程序为例讲一下另外一种形式的PHP伪静态的程序实现方法程序为例:/news-music-id23.html使用另外

式,通过apache的

rewrite机制来实现.1.检测Apache是否支持mod_rewrite通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded

Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。如果没有开启“mod_rewrite”,则打开

您的apache安装 “/apache/conf/”

下的

httpd.conf

文件,通过Ctrl+F查找到“LoadModule

rewrite_module”,将前面的”#”号删除即可。如果没有查找到,则到“LoadModule”区域,在最后一行加入“LoadModule

rewrite_modulemodules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。伪静态5主讲:韩顺平在httpd.conf中配置虚拟主机#Virtual

hosts

启用虚拟主机Include

conf/extra/httpd-vhosts.confhttpd_vhosts.conf文件中,配置相应的选项.详细讲解<VirtualHost

*:80>Root

"C:/myenv2/apache/htdocs/static2"ServerName<Directory

"C:/myenv2/apache/htdocs/static2">#403错误提示,可以

.Deny

from

all

或者

Denyfrom

211.11.78#Allow

fromAll

#要重写成功,这里也不能是Denyfrom

all#如果文件

在apache

外面,注释掉optinos

则,不能列表.,要rewrite,options

需要

+indexes#options

+Indexes#不让列出列表配置#options

None#设置欢迎页面

#DirectoryIndex

aa.html#如果匹配不到,可以指定一个错误页error 404

/404.php#下面这个表示可以去

.htaccess文件,也可以直接在虚拟主机中配置.#Allowoverride

All

(说明可以把这个启动,然后把重写规则放到.htaccess中,

)RewriteEngine

OnRewriteRule

news-id(\d+)\.html$

searchNews.php?id=$1#这里可以设置多个重写的规则#RewriteRule

news-id.html$

error.php</Directory></VirtualHost>伪静态6主讲:韩顺平在相应的

下编写.htaccess

重写规则如果在linux下可以直接创建,如果是在windows平台下,用记事本创建一个文件,比如abc.txt,然后另存为.htaccess文件即可重写规则,也可以直接在配置虚拟主机的<Directory>段配置.伪静态7主讲:韩顺平☞rewrite规则介绍新建一个.htaccess文件之后,就在里面写入以下内容:

RewriteEngineon#rewriteengine为重写引擎开关on为开启off为关闭快速入门案例:RewriteRule

([0-9]{1,})$

index.php?id=$1我讲解一下RewriteRule:RewriteRule是重写规则,支持正则表达式的,上面的([0-9]{1,})是指由数字组成的,$是结束标志,说明是以数字结束!现在

可以实现伪静态页面了,(上机练习题!)希望把用户输入的ulr重新被apache替换成这个规则应当怎样写?下创建一个index.php看看能否得到apache改写☞在.htaccess后的url$_GET['action']

=>$_GET['id']

=>23view如何通过rewrite

来增强

安全性,哪些资源public,哪些资源private伪静态7主讲:韩顺平如何通过rewrite

来增强

安全性,哪些资源public,哪些资源private有两种方法:简单法

[先说这个!!!]使用RewriteCond伪静态8主讲:韩顺平☞实际运用案例?看看ecshop的一个.htaccess文件有很多重写规则.是怎样实现的简化url请求/index/login等价于

/index.php?c=index&a=login并扩展一下

/xxx/yyy等价于

/index.php?c=xxx&a=yyy伪静态9主讲:韩顺平☞实际运用案例rewriteCond

指令的介绍需求:(.htaccess文件)<ifModule

rewrite_module>RewriteEngine

OnRewriteRuleabc.html

index.php</ifModule>如何做到:当abc.html

存在就直接abc.html

,否则才去index.php伪静态10主讲:韩顺平☞实际运用案例通常的URL里面含有index.php,为了达到更好的SEO效果可能需要去掉URL里面的index.php伪静态10主讲:韩顺平☞实际运用案例通常的URL里面含有index.php,为了达到更好的SEO效果可能需要去掉URL里面的index.php1.修改

Conf/config.php

文件将URL_MODEL

设置为

2伪静态10主讲:韩顺平☞实际运用案例通常的URL里面含有index.php,为了达到更好的SEO效果可能需要去掉URL里面的index.php2.

修改

httpd.conf

在TP项目

添加

<IfModule>

模块处理伪静态11主讲:韩顺平如何通过rewrite

来增强

安全性,哪些资源public,哪些资源private有两种方法:简单法

[先说这个!!!]使用RewriteCond伪静态特点主讲:韩顺平。

首页一般都有热点

之类的,你可以设为,24小时

,,再加上 文章, 点评等。这样首页天天是有变化的。四,用一周便于的轮显。比如:你可以把art1234.php,这个虚成n个页,如art_1234.html,news_1234.html,top_1234.html,在不同的页面放不同的广告.总之是动态的,你就可以随意动。url重写的缺点:就是效率不如生成html的,因为它不是真正意义上的静态页,每次请求是要

数据库的。但你可以用缓存技术来补偿一下。如果一个

使用真静态技术,会生成海量的html静态页

温馨提示

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

评论

0/150

提交评论