页面静态化3 --- 伪静态技术

伪静态

上一节我们讲了真静态技术的几个优点:

  ①减少服务器对数据响应的负荷;

  ②加载不用调动数据库

  ③方便优化引擎

但同时伴随着缺点:

  ①生成的真静态文件多,服务器对html文件的响应负担也比较重;

  ②空间占用比较大。

如果一个系统使用真静态进行页面静态化,需要生成海量的静态页面,我们可以考虑使用伪静态来处理

目前业内最喜欢用的一个技术是(伪静态技术+ob的组合)技术

首先复习以下正则表达式:

//PHP中如何使用正则表达式?---案例

$str = ‘abcdeft1234 ghirh 5656;

//①要求:把4个连续的数照出来?

//解:

  preg_match(‘/(\d)(\d)(\d)(\d)/si‘, $str, $arr);

  

  //preg_match()函数只匹配一个满足要求的字串就停止匹配,$arr[0]用来存储 满足正则表达的字串,

  //$arr[1]匹配模式中第一个字表达的结果,

  //$arr[2]匹配模式中第二个表达式的结果

  //$arr[n]匹配模式中个第n个表达式的结果

  preg_match_all(‘/(\d)(\d)(\d)(\d)/si‘, $str, $arr);

  //preg_match_all();匹配所有满足条件的字串,并且将结果放在$arr中,$arr[0]是匹配到的所有结果

  //$arr[0][0]匹配存放第一个匹配结果,$arr[0][1]匹配存放的第二个匹配结果

  //$arr[1][0]是第一匹配到的结果中的第一个子表达式1,$arr[n][m]是是第n个匹配到的结果中的第m个子表达式

  

//②找三个数相同且相连的数 -- 找到 000-666-222

  
$str = "000-666-222 jfkdjkfd234-900-098 89";

解:

  preg_match(‘/(\d)\1{2}-(\d)\2{2}-(\d)\3{2}/si‘, $str, $arr);

  特别说明:当正则表达式中有反向引用的时候,那么正则表达式使用单引号!!!! 

观察此页:

http://localhost/category.php/345-1-22.html

Apache服务器认为:category.php是文件,而之后的345,1,22是跟的参数

那么通过浏览器输出的内容就是category.php的内容

因为SEO的原因,上面的网址本身应当这样写:

http://localhost/category.php?a=345&b=1&c=22,

所以这样写的网址不利于seo

通常有公司用伪静态的技术把网址写成:

http://localhost/category.php/345-1-22.html

如何动态取出345、1、22这三个值???

方法1:PHP正则表达式

  ①获取345-1-22.html

  

$pathinfo = $_SERVER[‘PATH_INFO‘];

if (pre_match(‘/^\/(\d+)-(\d+)(\d+)\.html$/si‘, $pathinfo, $arr)) {

  echo $arr[1];

  echo $arr[2];

  echo $arr[3];

} else {

  echo ‘您输入的地址有误!‘;

}

练习:获取地址如,http://localhost/news-sports-id67.html 获取这个地址中的news,sports,id67

if (preg_match(‘/^\/(\w+)-(\w+)-(\w+)\.html$/is‘, $_SERVER[‘PATH_INFO‘], $arr)) {

  echo $arr[1];

  echo $arr[2];

  echo $arr[3];

} else {

  echo ‘输入地址有误‘;

}

问题:当直接在浏览器输入http://localhost/news-sports-id67.html的时候访问结果与访问http://localhost/news.php/news-sports-id67.html结果相同

方法2:Apache的rewrite机制  

Apache的rewrite机制下一节继续!

  

页面静态化3 --- 伪静态技术

时间: 2024-10-09 19:55:31

页面静态化3 --- 伪静态技术的相关文章

页面静态化3 --- 伪静态技术之Apache的rewrite机制

  Apache的rewrite机制: 意思就是,你发送的地址,比如:http://localhost/news-id67.html会被Apache改写成http://localhost/news.php?id=67; Apache本身内置了一个模块:(httpd.conf) #LoadModule rewrite_module modules/mod_rewrite.so ---- 去掉注释,开启Apache内置的重写模块开启模块过后,这个模块把news-id67.html重写为news.ph

网站优化—页面静态化技术

数据库检索的问题 主要是为了减少数据库的操作,让MySQL能够提供更强大的服务 ? 使用缓存技术 磁盘缓存:就是将用户请求数据库的数据,保存到磁盘文件形成一个静态的HTML文本,下次用户的访问的时候,直接返回该HTML文本. 内存缓存:将MySQL的数据取出之后,保存到内存(memcache,不算一个NOSQL数据库,但是是一个缓存系统)之中,下次直接从内存中返回.(效率非常高) 注意:只要不使用sql语句作为查询条件的数据库(仓库)就叫做NOSQL数据库 优化MySQL 设计:存储引擎的选择,

四,真静态技术实现页面静态化

真静态技术解决了php缓存机制的缺陷,它的优点有三个:(1)减少服务器对数响应的负荷:(2)加载不用调动数据库,响应速度快:(3)便于优化引擎.但是真静态技术也存在一定缺陷.比如:(1)空间占用比较大:(2)生成的文件多了,服务器对html文件的响应负担也比较重. 一个系统使用真静态进行页面静态化,需要生成海量页面静态文件,可以考虑使用伪静态来处理.可以继续优化:

页面静态化之动态,静态,伪静态概念

页面静态化作为大型网站提速的三大技术之一也是非常重要的,另外还有Memcached和mysql优化技术. 所以,我们应该先对静态,动态,和伪静态的概念要做到了解. 所谓静态:在我个人看来就是单纯的html网页.一般来说仅用来查看. 而动态:绝对不是能动的网页,而是用户能够和服务器进行动态数据交互.如表单数据提交到服务器等 而伪静态:就是隐藏动态网页的数据,以静态的网页的格式展现. 在学习静态化技术之前,要知道的是,动态的数据交互不利于收索引擎的搜索,而必须seo(搜索引擎优化),更不利于减小服务

PHP 页面静态化/纯静态化/伪静态化

概念 PHP静态化分为:纯静态化 和 伪静态化:纯静态化又分为:局部静态化 和 完全静态化 纯静态化:是把PHP生成的动态页面保存成静态的html文件,用户访问该静态页面,而不是用户每一次访问都重新生成一张相同的网页,优点就是减小服务器开销, 局部静态化:是生成的静态文件中,有局部的数据还是通过ajax技术动态获取的: 完全静态化:即不存在动态获取数据的情况,所以内容都来自静态的html页面 伪静态化:其实还是动态访问,其实质是动态生成数据,你访问的网址类似于"http://yourhost,c

[项目构建 九]babasport 页面静态化技术Freemarker技术的介绍及使用实例.

一.FreeMarker简介 1.动态网页和静态网页差异 在进入主题之前我先介绍一下什么是动态网页,动态网页是指跟静态网页相对应的一种网页编程技术.静态网页,随着HTML代码的生成,页面的内容和显示效 果就不会再发生变化(除非你修改页面代码).而动态网页则不然,页面代码虽然没有发生变化,但是显示的内容却是可以随着时间.环境或者数据库操作的结果而 发生相应的变化.简而言之,动态网页是基本的HTML语法规范与java.VB.VC等高级程序设计语言.数据库编程等多种技术的融合,以实现对网站内容 和风格

ASP.NET页面静态化 之 (伪静态)

1.页面为何要静态化 有利于搜索引擎优化(SEO) 使页面URL看起来更正规 真静态 的效率更高,并且更安全,HTML页面不会受Asp.Net相关漏洞的影响: 2.伪静态原理 其原理就是,在一个页面请求的执行期间将伪静态的URL重写成真实的URL路径: 3.那种条件下需要静态化 一个页面经常被访问,并且页面内容基本不变的: 所有用户访问的页面内容基本一样的. 例如:(新闻模块) 4.下面开始带领大家写一个伪静态的案例(新闻模块) (1)先创建新闻模块数据库 T_Channels表,存储新闻类别

各种系统性能优化技术,采用vilocity实现商品页面静态化

1.大型门户网站系统:>10万的访问量   行业网站(当当网,卓越网):20万-30万,一个小时内会跟数据库的交互至少20万-30万,会产生数据库瓶颈,每个数据库都有一个最大连接数(socket),一般服务器连接数2000个,如果超过2000,后面连接就会处于等待,在某一时间(短暂)内,有1万人访问了该产品页面,会跟数据库发生1万次交互,在这么短时间内,数据库处理能力是有限(如只能处理2000个连接),则8000个处于等待状态,等待超时的30s内可以再处理5000个链接,还有3000个连接 1)

php页面静态化技术;学习笔记

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-