- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大型网站优化-页面静态化(程序)
静态网站:由html页面组成的网站。
动态网站:页面数据是有服务器的脚本动态的生成组成的网站。
效率上,静态页面要远比动态页面高。因为动态文件需要脚本执行,以及数据库的读取开销(磁盘IO开销)
因此,就需要将动态网站的数据变成静态化,更加提升网站的整体性能。(用户体验),要保证用户在最短的时间内最高效的在浏览器端展示出页面。
简单测试:
动态网站:
静态网站:
因此,通过简单的比较,发现动态网站的响应远比静态网站慢。因此有必要实现网站静态化。(这里是一个手工进行,后面使用另外一门技术?)
问题:这样测试相对来说,误差太大。
ab压力测试
ab:Apache benchmark(Apache基准测试):Apache 压力测试工具,可以测试网站整体的一个抗压能力,可以通过它分析出网站整体的一个性能(包括响应时间,响应的数据量)。
使用: Apache自带
-c 并发量concurrency (1s内有多少人访问) 100
-n 访问次数 number 1000
+ 访问测试网址
页面静态化简介
如何使用程序实现页面静态化?
技术:ob缓存
定义:ob(output buffering):ob输出缓存,ob缓存可以缓存php脚本文件执行时的内容(对于web来说就是最终在页面得到响应主体(就是html标签内的内容))
http请求:
响应头:告诉浏览器一些信息,(cookie、怎么显示页面)
响应主体:(最终在浏览器上用户可以看到的页面)
【注意】:一般一个php脚本在请求的时候,需要完成三个缓存,1. ob缓存(php自带,默认是关闭的)2. 程序缓存(是必须开启的,响应头和响应主体)3. 浏览器缓存
ob怎么使用
ob相关函数
ob_start() ob缓存开启
ob_get_contents() 获取ob缓存里面的内容
ob_clean() 清空ob缓存的内容,但是不关闭ob缓存
浏览器无输出:
ob_end_clean() 清空ob缓存的内容,并关闭ob缓存
ob_flush() 将ob缓存的内容输出到程序缓存,但是不关闭ob缓存
浏览器输出
ob_end_flush 将ob缓存的内容输出到程序缓存,并关闭ob缓存
浏览器输出:
注意:在响应头之前是不能有输出
开启ob缓存
关闭ob缓存之后
浏览器输出:出现notice,因为在响应头之前不能有输出
案例
做一个简单的新闻系统,当发表新闻之后,第一次访问需要先生成对应的静态html页面,下次访问直接返回静态html内容,加速网站访问。
简单bootstrap学习
/bootstrap/bootstrap-tutorial.html
一个响应式布局的前端框架可以适配多个终端。
引入一些css样式文件
做了一些简单布局,也就使用它提供好的类名
list.php
B.详情页
注意:如何实现静态化页面,有局部数据实现变化?
答:评论,登录名 使用 ajax来实现
大型网站-伪静态(运维)
伪静态简介
形式上,将动态的URL地址改成静态html页面的地址,只是为了美观和利用SEO
形如:
动态URL:/index.php/Home/Index/index
静态URL:/index.php/Home/Index/index.html
实现原理:利用Apache提供的Rewrite模块,将URL地址重写
使用开启Apache的Rewrite模块,需要重启Apache
需要将虚拟主机的一个配置改掉
AllowOverride All
需要到网站根目录下,创建一个.htaccess文件
案例1:
/index.html ===== /index.php
当访问一个 index.html 文件的时候 帮我们重写到 一个index.php文件
页面效果:
案例2: 使用了正则完成
/news_12.html ===== /news.php?id=12
当访问某条新闻的时候,重写到一个动态的脚本文件并传递id
效果展示:
防盗链
火车头采集:/
定义:在自己网站盗用别人网站的资源(静态图片,css,js),就是叫做盗链,采用一些手段来防止别人盗链的行为叫做防盗链。
原理:利用http请求里面的referer 实现
实现:
利用Apache的Rewrite模块来判断当前的referer是不是自己网站
原理 :
1. 当这个网站(/daolian.html), 去访问 /1.jpg 图片资源时候,携带的referer参数是
2. 那么在 这里就需要根据referer来判定
原创力文档


文档评论(0)