1、图解缓存

 

HTTP缓存策略 304_数据

 

示例:

HTTP缓存策略 304_缓存_02

HTTP缓存策略 304_304_03

 

 200 (from disk cache):

HTTP缓存策略 304_数据_04

 


200 (from memory cache)


HTTP缓存策略 304_缓存_05

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

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

2、说明

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

HTTP缓存策略 304_HTTP_06

 

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

(3)http keep-alive解释

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

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

 

 

2019.3.14新增:

 

​http://imweb.io/topic/55c6f9bac222e3af6ce235b9​

HTTP缓存策略 304_缓存_07

 


作者:孟繁贵