16. Yii 2.0 http缓存
来源:互联网 发布:ug编程2个月能学会么 编辑:程序博客网 时间:2024/06/07 04:00
Yii 2.0 的 http缓存是基于http协议的,只对 GET 请求生效。
应用场景:如果我们的web服务器采用动静分离的技术,即客户端的页面请求只请求html页面框架(静态数据),而客户端的数据请求(动态数据)通过Ajax请求来实现,那么我们就可以将静态数据利用http缓存来实现。
http缓存的原理:
如果开启了http缓存,客户端浏览器请求服务器时,会给服务器发送一个 If-Modified-Since(时间戳,包含在请求消息头中),服务器会将该时间戳与自身的 lastModified(也是一个时间戳)的值进行比较:
如果二者的值一致,服务器就会直接给浏览器响应一个状态行(304 Not Modified),告诉浏览器请求的页面没有变化,这样浏览器就会从自身的缓存中取出页面呈现给用户;
如果二者的值不一致,服务器就会给浏览器响应一个 lastModified(时间戳,包含在响应消息头中),同时把最新的页面响应给客户端浏览器,浏览器再把这个页面呈现给用户。
当然,我们也可以用 etagSeed 代替 lastModified,原理类似,但 etagSeed 操作起来更加灵活,它也适合于非动静分离的场景。
http缓存利用的是客户端浏览器的缓存,故不需要服务器端缓存介质的支持。
这里以 Yii 2.0 高级版为例,介绍http缓存。
操作http缓存的类文件为 /advanced/vendor/yiisoft/yii2/filters/HttpCache.php
首先,修改前台的变量配置文件 /advanced/frontend/config/params.php,配置一个 lastModified 变量,代码如下:
1 2 3 4 5
来自CODE的代码片01.php
其次,在前台控制器层 /advanced/frontend/controllers 中,添加一个控制器 HttpController.php,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
来自CODE的代码片snippet_file_0.php
最后,在浏览器中输入 http://yii.frontend.com/?r=http/index,并打开web控制台调试工具,查看效果。
阅读全文
0 0
- 16. Yii 2.0 http缓存
- 16. Yii 2.0 http缓存
- Yii之http缓存
- 13. Yii 2.0 缓存介质
- 14. Yii 2.0 数据缓存
- 15. Yii 2.0 页面缓存
- 13. Yii 2.0 缓存介质
- 14. Yii 2.0 数据缓存
- 15. Yii 2.0 页面缓存
- YII 缓存
- Yii 缓存
- Yii 缓存之片段缓存
- Yii 清理缓存
- yii cache 缓存
- yii 缓存之memcached
- yii 缓存之apc
- YII缓存的使用方法
- YII缓存整理
- Codeforces Round #433 (Div. 2) Planning (贪心+并查集)
- cnpm 安装vue
- jdk安装
- 第二十四节:兼容所有浏览器滚动条滚动的js
- μcos-II任务堆栈、任务控制块和任务代码
- 16. Yii 2.0 http缓存
- JavaScript 面向对象(四)call()和apply()
- 诸神之战 | 赛事升级,4.1亿元奖金纳入浙江赛区奖项权益
- 文章标题
- 迅捷CAD编辑器把CAD转为jpg
- spring的工作原理
- finereport帮助文档初期学习总结
- 8 分钟写出代码(华为笔试题)
- Java冒泡排序