PHP 能将数据入浏览器缓存吗?如果能求讲解!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 能将数据入浏览器缓存吗?如果能求讲解!相关的知识,希望对你有一定的参考价值。
PHP 能将数据写入浏览器缓存吗?如果能求讲解!
不知阁下需要的是怎样的缓存?纯客户端?还是怎样的,以下可供参考:一:储存于客户端的信息,页面调用时无需从服务器解析直接使用(常见的即为Cookie,还有HTML5里的localStorage,Application Cache);
二:离线性质,即用户不在线时,也可以正常访问网页,所访问的数据即客户端储存的缓存(HTML5中的应用程序缓存,即Application Cache);
三:客户端与服务端共同缓存的,这种方法可使已经从数据库查询的数据、已通过程序计算得到的数据存于服务器,服务器解析时直接调用,无需再处理得到,大大减轻了服务器的压力(常见的即为session,HTML5中为sessionStorage);
四:纯服务端,同三,即将服务器已经处理好的数据暂存于服务器,需要时直接调用而无需再次处理以便提高效率和减轻服务器压力(服务器端的缓存机制非常多,网站开发者基本都会); 参考技术A cookie
数据量小,用于身份识别
Local Storage
可存储大量数据,具体可以百度搜索一下相关介绍及使用
调用限制比较严格,域名,路径限制
其它存储方式根据浏览器不同差异比较大本回答被提问者采纳 参考技术B 除了Cookie 还是这个Cookie. 参考技术C cookie 应该算是吧追问
除了cookie还有别的吗?
追答。。。。。。。。。你随便输出到浏览器的东西 基本都被浏览器缓存起来了 除非设置header里的 Cache-Control
参考技术D 304 的标准解释是:Not Modified 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。如 果客户端在请求一个文件的时候,发现自己缓存的文件有 Last Modified ,那么在请求中会包含 If Modified Since ,这个时间就是缓存文件的 Last Modified 。因此,如果请求中包含 If Modified Since,就说明已经有缓存在客户端。只要判断这个时间和当前请求的文件的修改时间就可以确定是返回 304 还是 200 。对于静态文件,例如:CSS、图片,服务器会自动完成 Last Modified 和 If Modified Since 的比较,完成缓存或者更新。但是对于动态页面,就是动态产生的页面,往往没有包含 Last Modified 信息,这样浏览器、网关等都不会做缓存,也就是在每次请求的时候都完成一个 200 的请求。
因此,对于动态页面做缓存加速,首先要在 Response 的 HTTP Header 中增加 Last Modified 定义,其次根据 Request 中的 If Modified Since 和被请求内容的更新时间来返回 200 或者 304 。虽然在返回 304 的时候已经做了一次数据库查询,但是可以避免接下来更多的数据库查询,并且没有返回页面内容而只是一个 HTTP Header,从而大大的降低带宽的消耗,对于用户的感觉也是提高。
缓存技术简单讲解
缓存主要为了减少服务器数据库的压力
1.静态缓存
2.memecache redis缓存
静态缓存:
保存在磁盘上的静态文件,用PHP生成数据放入静态文件中
以上是关于PHP 能将数据入浏览器缓存吗?如果能求讲解!的主要内容,如果未能解决你的问题,请参考以下文章