首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

Step1 數據系統技術(三):瀏覽器 Cache 與 HTTP 304 狀態碼雙重保障的客戶端快取策略

     編輯:關於ASP.NET

系列拖延許久(網站曾因被抓取導致 DB 崩潰、快取爆滿、虛擬主機被關),現不顧完美度發布,拋磚引玉。

Cache 機制與兩種設定方式

  • HTML Meta 標籤: <meta http-equiv="Expires" CONTENT="0">、<meta http-equiv="Cache-Control" CONTENT="no-cache">
  • HTTP Header(推薦): Response.Cache.SetExpires(time)。我設定 7 天過期(頁面自動生成)。

HTTP 304 狀態碼:Not Modified

含義:伺服器端內容未更新,客戶端快取版本為最新。

  1. 首次請求:回應 Header Last-Modified: Tue, 08 Apr 2008 14:48:05 GMT。
  2. 再次請求:瀏覽器自動帶上 If-Modified-Since: Tue, 08 Apr 2008 14:48:05 GMT。
  3. 伺服器比對:未過期 → 僅回傳 304 狀態碼,無內容體,極省頻寬與 CPU。

為何雙重使用?

  • 單用 Cache:用戶按「重新整理」瀏覽器仍會請求伺服器。
  • 單用 304:瀏覽器仍需發起請求詢問,有網路延遲。
  • 結合: 快取有效期內靜默使用本地;過期或強制重整時用 304 快速驗證,剛剛好。

其他關鍵狀態碼

  • 404: 自訂錯誤頁必須回傳 404,否則搜尋引擎機器人誤判內容正常,導致被列入黑名單。
  • 301/302: 頁面轉向必須回傳,否則搜尋引擎不知頁面已遷移。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved