页面静态化学习总结
2012-11-14 20:56
204 查看
apache/ab.exe 这个程序做网站访问压力测试。
ab.exe -n1000 -c10 http://localhsot/test.php
1.访问相同页面,访问.php页面比.html页面要慢;
2.静态化利于seo;
3.防止sql注入;
4.百度建议:url不要太长;使用静态网址;meta里面的keyword要写;尽量不要使用框架;img里面的alt要写;
一、真静态
php.ini文件中;
//开启缓存
ob_start();//output buffering
echo "aaaaaaaaa";
header("content-type:text/html;charset=utf8");
echo "hello";
//ob_get_contents接收output buffering
//ob_clean();//清除output buffering
ob_end_clean();//关闭ob缓存,同时清空。
//ob_end_flush();//把ob缓存的内在输出并清空,并关闭ob
//ob_flush();//输出ob缓存并清空,不关闭ob;
echo "kkkkkkkk";//->程序缓存,必须在header后面;
页面静态化思路:
因为新闻这各信息不是对实时性要求高,并且比较稳定,所以我们可以这样做,
当第一个用户访问某条新闻后,我们使用ob的缓存机制,把内容缓存到html页面。
当下一次访问时,直接访问html即可。
存在问题:
1.程序页面里面的点击查看链接的时候,仍然是一个php页面->html网址;
2.实时性不好,有30s的延迟;
html静态面(真静态)的好处有三点:一是减少服务器对数据响应的负荷;二是加载不用调动数据库,响应速度快;
三是便于优化引擎;
缺点也有几点:一是空间占用比较好大,二是生成的谁的多了,服务器对html文件夹的响应负担也较重;
如果一个系统使用真静态进行页面静态化,需要生成海量的静态页面,我们可以考虑使用伪静态来处理;
二、伪静态
http://localhost/demo.php/126.12.365.html设计成这样的静态网址;
目前有两种方式来处理这种接收方式:
1.在php文件夹中,直接使用正则表达式技术处理;
$_SERVER['PATH_INFO'];取出URL最后的地址;
2.配置apache的rewrite来处理;
1.配置apache启用rewrite机制;
在httpd.conf中启用rewrite
LoadModule rewrite_module modules/mod_rewrite.so
2.配置虚拟主机
到c盘hosts文件添加你的ip和域名对应
127.0.0.1 www.jmb.com
在http.conf文件中启用虚拟主机;
# Virtual hosts 启用虚拟主机
Include "conf/extra/httpd-vhosts.conf"
打开E:\xampp\apache\conf\extra\httpd-vhosts.conf,配置其内容;
<VirtualHost *:80>
##ServerAdmin postmaster@dummy-host2.localhost
#文档根目录
DocumentRoot "e:/xampp/htdocs/static"
#域名
ServerName www.jmb.com
##ServerAlias www.dummy-host2.localhost
ErrorLog "logs/dummy-host2.localhost-error.log"
##CustomLog "logs/dummy-host2.localhost-access.log" combined
#配置rewrite相关选项
<Directory "e:/xampp/htdocs/static"> //<Director>可以有多个,这个使用于不同目录下,配置不同访问权限;
#拒绝所有的访问
#Deny from all
Allow from all
#是否显示到表(在发布项目后一般是不启用,针对这个目录DocumentRoot在htdoc外面的目录生效)
Options +indexes
#是否启用rewrite
#有时候我们可以把rewrite机制和规则写在这里;
Allowoverride all
</Directory>
</VirtualHost>
3.在<Drectory>段的配置,默认值,是在httpd.conf中配置,看根目录;
4.在目录下添加了一个.htaccess文件,这个文件夹是配置rewrite机制和规则;
不同目录下可以有不同的.htaccess文件;
<ifModule rewrite_module> //这个意思就是说如果没有rewrite机制的话,就可以不报错;
#写你的rewrite规则
RewriteEngine On
#news-id(\d+)\.html$ 是规则 news.php?id=$1是转发的页面
#可以配置多个规则,顺序是从上到下;
RewriteRule news-id(\d+)\1\.html$ news.php?id=$1
RewriteRule abc-id(\d+)\1\.html$ error.php?id=$1
</ifModule>
5.这个rewrite的规则也直接在<Direcotry>段直接配置;
如果一个网站使用真静态技术,会生成海量的html静态页面,可以考虑使用伪静态技术来优化我们的网站;
url重写(伪静态)的好处:一、可以方便的实现对搜索引擎的优化,并且比生成静态更加方便。
二、占空间比较小。三、首页每天自动变化,不用维护。四、便于广告的轮显;
缺点:就是效率不如生成html的,因为它不是真正意义上的静态页,每次请求要读取数据库的,
但你可以用缓存技术来补偿一下。
伪静态是站在SEO角度看的,它对应的页面不是真正存在的,而是每次查询数据库得到的信息;
真静态的页面是真正存在的;
小结:如果一个网页会频繁的访问,通过该网页每次都会去操作数据库,可以考虑使用真静态,
如果一个网页为了实现对搜索引擎的优化,提供网站的安全性,使用伪静态;
ab.exe -n1000 -c10 http://localhsot/test.php
1.访问相同页面,访问.php页面比.html页面要慢;
2.静态化利于seo;
3.防止sql注入;
4.百度建议:url不要太长;使用静态网址;meta里面的keyword要写;尽量不要使用框架;img里面的alt要写;
一、真静态
php.ini文件中;
//开启缓存
ob_start();//output buffering
echo "aaaaaaaaa";
header("content-type:text/html;charset=utf8");
echo "hello";
//ob_get_contents接收output buffering
//ob_clean();//清除output buffering
ob_end_clean();//关闭ob缓存,同时清空。
//ob_end_flush();//把ob缓存的内在输出并清空,并关闭ob
//ob_flush();//输出ob缓存并清空,不关闭ob;
echo "kkkkkkkk";//->程序缓存,必须在header后面;
页面静态化思路:
因为新闻这各信息不是对实时性要求高,并且比较稳定,所以我们可以这样做,
当第一个用户访问某条新闻后,我们使用ob的缓存机制,把内容缓存到html页面。
当下一次访问时,直接访问html即可。
存在问题:
1.程序页面里面的点击查看链接的时候,仍然是一个php页面->html网址;
2.实时性不好,有30s的延迟;
html静态面(真静态)的好处有三点:一是减少服务器对数据响应的负荷;二是加载不用调动数据库,响应速度快;
三是便于优化引擎;
缺点也有几点:一是空间占用比较好大,二是生成的谁的多了,服务器对html文件夹的响应负担也较重;
如果一个系统使用真静态进行页面静态化,需要生成海量的静态页面,我们可以考虑使用伪静态来处理;
二、伪静态
http://localhost/demo.php/126.12.365.html设计成这样的静态网址;
目前有两种方式来处理这种接收方式:
1.在php文件夹中,直接使用正则表达式技术处理;
$_SERVER['PATH_INFO'];取出URL最后的地址;
2.配置apache的rewrite来处理;
1.配置apache启用rewrite机制;
在httpd.conf中启用rewrite
LoadModule rewrite_module modules/mod_rewrite.so
2.配置虚拟主机
到c盘hosts文件添加你的ip和域名对应
127.0.0.1 www.jmb.com
在http.conf文件中启用虚拟主机;
# Virtual hosts 启用虚拟主机
Include "conf/extra/httpd-vhosts.conf"
打开E:\xampp\apache\conf\extra\httpd-vhosts.conf,配置其内容;
<VirtualHost *:80>
##ServerAdmin postmaster@dummy-host2.localhost
#文档根目录
DocumentRoot "e:/xampp/htdocs/static"
#域名
ServerName www.jmb.com
##ServerAlias www.dummy-host2.localhost
ErrorLog "logs/dummy-host2.localhost-error.log"
##CustomLog "logs/dummy-host2.localhost-access.log" combined
#配置rewrite相关选项
<Directory "e:/xampp/htdocs/static"> //<Director>可以有多个,这个使用于不同目录下,配置不同访问权限;
#拒绝所有的访问
#Deny from all
Allow from all
#是否显示到表(在发布项目后一般是不启用,针对这个目录DocumentRoot在htdoc外面的目录生效)
Options +indexes
#是否启用rewrite
#有时候我们可以把rewrite机制和规则写在这里;
Allowoverride all
</Directory>
</VirtualHost>
3.在<Drectory>段的配置,默认值,是在httpd.conf中配置,看根目录;
4.在目录下添加了一个.htaccess文件,这个文件夹是配置rewrite机制和规则;
不同目录下可以有不同的.htaccess文件;
<ifModule rewrite_module> //这个意思就是说如果没有rewrite机制的话,就可以不报错;
#写你的rewrite规则
RewriteEngine On
#news-id(\d+)\.html$ 是规则 news.php?id=$1是转发的页面
#可以配置多个规则,顺序是从上到下;
RewriteRule news-id(\d+)\1\.html$ news.php?id=$1
RewriteRule abc-id(\d+)\1\.html$ error.php?id=$1
</ifModule>
5.这个rewrite的规则也直接在<Direcotry>段直接配置;
如果一个网站使用真静态技术,会生成海量的html静态页面,可以考虑使用伪静态技术来优化我们的网站;
url重写(伪静态)的好处:一、可以方便的实现对搜索引擎的优化,并且比生成静态更加方便。
二、占空间比较小。三、首页每天自动变化,不用维护。四、便于广告的轮显;
缺点:就是效率不如生成html的,因为它不是真正意义上的静态页,每次请求要读取数据库的,
但你可以用缓存技术来补偿一下。
伪静态是站在SEO角度看的,它对应的页面不是真正存在的,而是每次查询数据库得到的信息;
真静态的页面是真正存在的;
小结:如果一个网页会频繁的访问,通过该网页每次都会去操作数据库,可以考虑使用真静态,
如果一个网页为了实现对搜索引擎的优化,提供网站的安全性,使用伪静态;
相关文章推荐
- Ehcache学习总结(3)--Ehcache 整合Spring 使用页面、对象缓存
- CSS3与页面布局学习总结(一)——概要、选择器、特殊性与刻度单位
- JAVA学习日记页面静态化方案
- 控件、UI 半年学习总结下自定义控件用法和一些常用页面效果
- 切图psd to html页面制作技术学习与总结
- (PHP学习笔记)实现页面静态化
- 【学习笔记】PHP实现页面静态化
- 每日学习总结:CSS:Clear属性的用法、重复交易提示框、弹出提示框后页面变形、asp.net调用smtp服务发送邮件问题
- 每日学习总结:DataTable按某一列数值大小排序问题、GridView后台动态绑定、页面导航方法总结
- 【ASP.NET学习笔记一】ASP.NET页面传参总结
- php学习笔记之页面静态化
- CSS3与页面布局学习总结(二)——Box Model、边距折叠、内联与块标签、CSSReset
- 学习:Asp.net页面传值总结(转)
- 【ASP.NET学习笔记一】ASP.NET页面传参总结
- CSS学习总结---页面高度百分比
- CSS3与页面布局学习总结(三)——BFC、定位、浮动、7种垂直居中方法
- echarts学习总结一个页面存在多个echarts图形,图形自适应窗口大小
- 每日学习总结:DataTable按某一列数值大小排序问题、GridView后台动态绑定、页面导航方法总结
- 页面静态化--总结
- <CSS设计指南> 学习总结 -- 页面布局