針對伺服器端的 6 條前端優化實踐:
國內電信/網通跨網問題嚴重,若無 CDN 可透過多機房部署模擬類似效果。
讓瀏覽器快取靜態資源。範例:
// Apache
ExpiresActive On
ExpiresByType image/gif "modification plus 1 weeks"
// Lighttpd
$HTTP["url"] =~ "\.(jpg|gif|png)$" { expire.url = ( "" => "access 1 years" ) }
// Nginx
location ~* \.(jpg|gif|png)$ { if (-f $request_filename) { expires max; break; } }
絕大多數網站必備,有效減少頻寬。CPU 成本可接受。Nginx 範例:
gzip on;
gzip_types text/plain text/html text/css ext/javascript;
常被忽略,對 RSS 類網站效益顯著。注意 IIS 的 ETag Bug,IE 確實支援 ETag。
非同步思路,讓瀏覽器先接收部分內容(如 <head>),提升感知速度。
XMLHttpRequest 的 GET 單次請求,POST 需兩次;但 IE 下 GET URL 長度限制 2KB。