1、图解缓存

示例:

200 (from disk cache):

200 (from memory cache)

MemoryCache顾名思义,就是将资源缓存到内存中,等待下次访问时不需要重新下载资源,而直接从内存中获取。

diskCache顾名思义,就是将资源缓存到磁盘中,等待下次访问时不需要重新下载资源,而直接从磁盘中获取,它的直接操作对象为CurlCacheManager。它与memoryCache最大的区别在于,当退出进程时,内存中的数据会被清空,而磁盘的数据不会,所以,当下次再进入该进程时,该进程仍可以从diskCache中获得数据,而memoryCache则不行。

2、说明

(1)强缓存:直接从缓存中读取文件,不需要与服务器通信。但是会有响应体。响应体来自浏览器。

(2)协商缓存(304):需要与服务器通信。

(3)http keep-alive解释

在一次tcp连接中可以连续发送多次数据,即可以保持一段时间的tcp连接,在这个保持的通道上有多个request、多个response。而不用每发一次数据就要重新进行三次握手连接,发完一次数据就要立即进行四次挥手释放连接。 这样可以提高性能和吞吐率。

keep-alive在响应头和请求头中都有。

HTTP缓存策略 304相关推荐

  1. okhttp配置缓存策略_网站的缓存控制策略最佳实践及注意事项

    对于一个网站来讲,性能关乎用户体验,你在更短的时间内打开网站,你将会留住更多的用户.如果你的页面十秒才能打开,那再好的用户交互也是徒然. 缓存控制是网站性能优化中至为常见及重要的一环,好的缓存控制,除 ...

  2. 吐槽: 移动端缓存策略

    从简书迁移到掘金 "时间?" "去年夏天, 六月, 具体哪天记不得了. 我只记得那天非常的热, 喝了好多水还是很渴." "我没问你热不热渴不渴, 问什 ...

  3. 服务器策略文件,如何解决服务器对文件请求的缓存策略教程

    我们从理论上介绍了浏览器和服务器是如何对静态资源做缓存的,这篇文章我们把它做成一个node服务器的静态资源中间件. 代码开发 既然是开发中间件,肯定是服务端要做的事情,大致流程如下: 图1 服务器接收 ...

  4. 彻底弄懂 HTTP 缓存机制 —— 基于缓存策略三要素分解法

    导语 HTTP 缓存机制作为 Web 性能优化的重要手段,对从事 Web 开发的小伙伴们来说是必须要掌握的知识,但最近我遇到了几个缓存头设置相关的题目,发现有好几道题答错了,有的甚至在知道了正确答案后 ...

  5. extjs中js资源缓存策略

    http的缓存协商 浏览器对静态文件的缓存主要是通过cache-control来控制的,cache-control可以设置no-cache,max-age以及must-revalidate等来设置缓存 ...

  6. glide默认的缓存图片路径地址_手写一个静态资源中间件,加深了解服务器对文件请求的缓存策略...

    上一篇文章<详解页面静态资源的缓存策略,搞懂强缓存和协商缓存再做性能优化>我们从理论上介绍了浏览器和服务器是如何对静态资源做缓存的,这篇文章我们把它做成一个node服务器的静态资源中间件. ...

  7. html如何获取请求头变量的值。_手写一个静态资源中间件,加深了解服务器对文件请求的缓存策略...

    上一篇文章<详解页面静态资源的缓存策略,搞懂强缓存和协商缓存再做性能优化>我们从理论上介绍了浏览器和服务器是如何对静态资源做缓存的,这篇文章我们把它做成一个node服务器的静态资源中间件. ...

  8. 离线缓存占内存吗_彻底弄懂浏览器缓存策略

    浏览器缓存策略对于前端开发同学来说不陌生,大家都有一定的了解,但如果没有系统的归纳总结,可能三言两语很难说明白,甚至说错,尤其在面试过程中感触颇深,很多候选人对这类基础知识竟然都是一知半解,说出几个概 ...

  9. 安卓开发笔记——关于图片的三级缓存策略(内存LruCache+磁盘DiskLruCache+网络Volley)...

    在开发安卓应用中避免不了要使用到网络图片,获取网络图片很简单,但是需要付出一定的代价--流量.对于少数的图片而言问题不大,但如果手机应用中包含大量的图片,这势必会耗费用户的一定流量,如果我们不加以处理 ...

最新文章

  1. 一张清华大学教授工资单曝光!想象与现实天壤之别……
  2. 【Python】校选课 第六周作业 py3.0
  3. python灰度图生成g代码_Python打造一个在线G代码生成器
  4. php mysql 空值_PHP / MySQL插入空值
  5. openstack中region、az、host aggregate、cell 概念
  6. Linux下网络通信
  7. Best生物信息学家应该掌握的数学_之我的看法
  8. 电脑计算机硬盘坏了如何修理,笔记本电脑硬盘坏了怎么修复怎么办
  9. Arcgis 10.2 软件安装教程
  10. 基本求导法则与导数公式
  11. Easyui datagrid数据清空
  12. 服务器集群速度文件传输,为什么要实现服务器集群
  13. oracle收款凭证做错月份,​上个月的银行凭证做错了怎么办
  14. RC微分积分电路/RC滤波电路/RC脉冲分压器/RC耦合电路
  15. 通过Python获取拉钩招聘网站的公司详细地址
  16. 【iphone】开发者传授APP开发,审核,发布流程!
  17. 第十三章:项目相关方管理 - (13.1 识别相关方)
  18. 953. 验证外星语词典( 简单模拟 + 自定义定制排序 )
  19. 运筹学基础(名词解释题总结)
  20. 谷歌浏览器(Chrome)如何安装crx插件?(详细步骤)

热门文章

  1. 五步使用法——搞定XMLHttpRequest
  2. (10)JavaScript学习笔记 - 数组
  3. Web设计里的软件工程思想
  4. 使用Redis构建全局并发锁
  5. Linux下搭建iSCSI共享存储
  6. skynet源码阅读4--定时器实现
  7. mysqlbinlog: unknown variable 'default-character-set=gbk'错误
  8. H3C交换机配置STP配置
  9. 好久不上来,发现这个世界变得真是快啊,都.NET 2.0 AJAX了~~
  10. tp5自定义一个函数php,tp5 如何模块自定义函数!