什麼是網頁快取?
網頁快取是存在於網頁應用伺服器及客戶端之間的資料副本,當使用者對第一次對網頁資源進行訪問時,經過網頁伺服器處理後返回客戶端同事將會快取一份資料在快取伺服器上,當下一個使用者對同樣的網頁資源進行訪問時則直接從快取伺服器總進進行相應,而不用再次對源網頁伺服器進行請求。有效的降低對源網頁伺服器的效能消耗,以及減少了網路延遲,提供了使用者訪問的相應速度。
快取工作流程
- 瀏覽器發起請求到Nginx,Nginx根據使用者的請求查詢是否有本地快取。
- Nginx沒有找到本地快取,則將請求轉發至源站網頁伺服器,快取到本地並返回請求給客戶端瀏覽器(http status code:200)。
- Nginx找到本地快取,首先驗證快取是否過期(Cache-Control:max-age=?),如果過期,則將請求轉發至源站網頁伺服器,快取到本地並返回請求給客戶端瀏覽器(http status code:200)。如果文件沒有過期,即if-modified-since與快取的last-modified匹配,則返回快取給瀏覽器(http status code:304)。