許多開發者認為「將首頁生成靜態 HTML」是提升訪問速度的銀彈。實際上,**靜態化本質是「以磁碟當快取」**,屬於低階、原始、低效的做法。
Cache-Control: public, max-age=300, stale-while-revalidate=600
ETag: "v1.2.3"
靜態資源 (JS/CSS/圖片) 強快取;HTML 協商快取或短快取。
Nginx fastcgi_cache / proxy_cache 或 Varnish:
# Nginx 範例
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=PAGE_CACHE:100m inactive=1h;
server {
location / {
proxy_cache PAGE_CACHE;
proxy_cache_valid 200 5m; # 成功頁面快取 5 分鐘
proxy_cache_valid 404 1m;
proxy_cache_key "$scheme$request_method$host$request_uri";
proxy_pass https://backend;
add_header X-Cache-Status $upstream_cache_status;
}
}
DEL key)。Thymeleaf/Freemarker/Velocity 等模板引擎支援片段快取:
...
**不要再生成靜態 HTML 檔案了。** 擁抱 **Redis + Nginx/Varnish + CDN + HTTP Cache** 的多層快取體系。它解決了即時性 (計數器)、個性化 (片段快取/ESI)、一致性 (主動失效)、擴展性 (分散式快取) 所有靜態化無法優雅解決的問題。這才是現代高流量網站首頁的標準架構。