# 問題解決
### 1\. 瀏覽器什么時候將資源放置在緩存中(比較常見的是硬盤和磁盤兩種)
###### 實現方案:通過對請求頭設置Cache-Control字段
在HTTP/1.1中,Cache-Control是最重要的規則,主要用于控制網頁緩存,主要取值為:
* public:所有內容都將被緩存(客戶端和代理服務器都可緩存)
* private:所有內容只有客戶端可以緩存,Cache-Control的默認取值
* no-cache:客戶端緩存內容,但是是否使用緩存則需要經過協商緩存來驗證決定
* no-store:所有內容都不會被緩存,即不使用強制緩存,也不使用協商緩存
* max-age=xxx (xxx is numeric):緩存內容將在xxx秒后失效
##### 總結:
較好的方式是使用no-cache方式,也就是協商緩存,請求服務資源判斷是否是最新
### 2\. 瀏覽器將什么資源放在內存,什么資源放磁盤?
1. 對于大文件來說,大概率是不存在內存總的,反之優先
2. 當前系統內存使用高的話,文件有限存儲進硬盤
### 3\. 瀏覽器怎么將允許進行緩存的內容存到相應位置。
1. 這部分的實現邏輯是瀏覽器的內部功能,將相應的資源存放到相應位置
#### 4\. 使用Nginx實現代理緩存
1. 使用Nginx的優勢:
nginx緩存,可以在一定程度上,減少源服務器的處理請求壓力。 因為靜態文件(比如css,js, 圖片)中,很多都是不經常更新的。nginx使用proxy\_cache將用戶的請求緩存到本地一個目錄。下一個相同請求可以直接調取緩存文件,就不用去請求服務器了。 IO密集型服務的處理是nginx的強項。
[Nginx配置](https://www.cnblogs.com/walls/p/9017821.html)