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新增:
http://imweb.io/topic/55c6f9bac222e3af6ce235b9