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在响应头和请求头中都有。
2019.3.14新增: