
课程咨询: 400-996-5531
投诉建议: 400-111-8989
认真做教育 专心促就业
缓存功能的应用在许多软件编程开发项目中都是会经常用到的一个技术,而本文我们就通过案例分析来简单了解一下,http缓存原理与应用分析。
1、原理:
在次请求后,保存一份请求资源的响应副本,当用户再次发起相同请求后,如果判断缓存命中,则拦截请求,将之前存储的相应副本返回给用户,从而避免重新向服务器发起资源请求。
2、缓存的技术种类:
代理缓存,浏览器缓存,网关缓存,负载均衡器,内容分发网络
它们大致可以分为两类:共享缓存,私有缓存
共享缓存:缓存的内容可以被多个用户使用。如公司内部架设的内部Web代理
私有缓存:只能单独被用户使用的缓存。如浏览器缓存
3、禁止缓存
发送如下响应头可以关闭缓存。此外,可以参考Expires和Pragma消息头。
4、http缓存可分为强制缓存和协商缓存
强制缓存不用判断缓存是否过期,可以直接使用。
协商缓存每次都要询问一下服务器,看一下内容有没有更新,如果没有更新就使用缓存中的资源,如果更新了就继续请求
5、强缓存
介绍:
不会向服务器发送请求,直接从缓存中读取资源,在chrome控制台的Network选项中可以看到该请求返回200的状态码,并且Size显示fromdiskcache或frommemorycache。
6、协商缓存
介绍:
协商缓存就是强制缓存失效后,浏览器携带缓存标识向服务器发起请求,由服务器根据缓存标识决定是否使用缓存的过程,主要有以下两种情况:
协商缓存生效,返回304和NotModified
协商缓存失效,返回200和请求结果
设置:
协商缓存可以通过设置两种HTTPHeader实现,分别是:Last-Modified和ETag。
7、缓存机制
强制缓存优先于协商缓存进行,若强制缓存生效则直接使用缓存,若不生效则进行协商缓存。
协商缓存由服务器决定是否使用缓存,若协商缓存失效,那么代表该请求的缓存失效,返回200,重新返回资源和缓存标识,再存入浏览器缓存中;生效则返回304,继续使用缓存。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。