在 Google Page Speed 的要點裡 有提到 減少要求 request 的數量
這樣的話會有兩種作法
- deploy 時合併成一支大的 .js
- 透過 php 把要求的 js 合併一次傳送出去
但是前者失去了彈性
因此實務上會寫一支 php (姑且稱之 combo loader)
因此程式碼大概會長這樣
但是這樣做每次要資料都還是會回應 200 OK 而不能像 js 或 css 回應 304 Not Modified
所以我們還要在動一些手腳
把回應的 header 加 Expires 跟 Last-Modified 因此大概變成如下
這樣下次有同樣的 request 近來 php 就會先檢查 HTTP_IF_MODIFIED_SINCE 然後透過比對修改的時間決定要回 304 還是重新出檔案了!
當然 request 可能會長成這樣
或者防止瀏覽器的 cache 也可以像這樣 loading
最後差異如下


從 132KB 降到 180B ~