关于PHP中的图片缓存
来源:互联网 发布:微商城cms源码下载 编辑:程序博客网 时间:2024/05/05 15:11
关于PHP中的图片缓存技术之前一直没有考虑过,结果第一次出去面试的时候就苦逼了,哑口无言呀。。。。
PHP的图片缓存需要在服务器端做好配置,就拿APACHE环境下来说,开启Apache的headers模块支持后,可以在.htaccess文件中添加如下代码,用于设置图片的HTTP缓存和有效期
<IfModule mod_headers.c> <FilesMatch ".(gif|jpg|jpeg|png|ico)$"> Header set Cache-Control "max-age=604800" </FilesMatch>
上面的代码设置了网站的图片使用为期一周的HTTP缓存,同样的,你也可以给js或者css文件加上http缓存。
怎么看你的图片被缓存了呢,使用firebug或者其他网页开发工具查看你的网络即可,看到下图的304提示的就是了,这个表示经过服务器认证(一般是比较ETag)该图片任然有效,继续使用本地缓存。个别游览器在缓存有效期内,不再像服务器发送任何请求,直接使用本地缓存,在HTTP CATCH 中是看不到请求信息的。
request消息告诉缓存器缓存该图片一周或者多少时间,过期后游览器重新将过期的图片存入缓存。清空游览器缓存后,自然就是去服务器重新获取了。
另外游览器也是可以设置为强制不适用缓存,那样每次请求就都是200了
扩展一下关于缓存的基础知识:
缓存位于 服务器之间,客户端之间,根据请求保存输出内容的副本,如html页面,图片,文件,当下一个请求来到时,如果相同的URL,直接使用副本响应访问请求,而不向源服务器再次发送请求。
如果要通过缓存大量的资源来达到提速的话用CDN就好。
图片缓存需要PHP代码辅助吗?过两天验证一下下面的代码
if(isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])){header('HTTP/1.1 304 Not Modified');exit;}header("Last-Modified: ".gmdate("D, d M Y H:i:s",filectime($cached))." GMT");readfile($cached);
0 0
- 关于PHP中的图片缓存
- 关于图片三级缓存
- 关于ImageLoader图片缓存
- 网站中的图片缓存
- Android中的图片缓存
- php中的缓存详解
- 关于浏览器图片缓存问题
- 关于图片缓存的问题
- 关于浏览器图片缓存问题
- 关于php缓存的问题
- 关于php缓存与header
- ASP.NET中的图片缓存
- 分享Fresco缓存中的图片
- Android图片中的三级缓存
- Android图片中的三级缓存
- Android中的图片三级缓存
- Android图片中的三级缓存
- Android图片中的三级缓存
- 得到简单的过载
- hdu 2063 过山车 【最大匹配】
- Ice Manual(ice 手)
- FieldInfos的write方法的具体实现
- 前台绑性别
- 关于PHP中的图片缓存
- C# 类索引器Class Indexer
- Cracking the coding interview--Q1.7
- Ajax验证用户名是否已经存在.
- 启动tomcat服务时,报解析/WEB-INF/applicationContext.xml异常或找不到该文件
- C语言中的static inline
- struts.properties配置详解
- cloudera manager维护相关(系统日志相关)
- ios运行时