我們知道在伺服器端不做任何設定的情況下,瀏覽器缺省會自動對靜態資源進行快取。但是每個版本的一些靜態資源或多或少都會有所不同。避免瀏覽器快取的方法是更新鏈結(
版本發布
時給靜態資源鏈結新增版本號
),這樣瀏覽器識別為新的鏈結,就會去get資源了。
第一種方案是考慮每個模板檔案的靜態鏈結後新增類似?v=$version的變數來替換。但是這種方案純體力活,而且發布版本時還需要手動修改版本號。(這一蠢方案直接撲街)
今天嘗試了最新的方法——
在版本構建時用sed批量新增版本號
。(perfect) 如:
css/public.css」 />
新增版本號(
以發布時間作為版本號
)後為
css/public.css?v=1355106937」 />
指令碼如下:
#!/bin/sh最終優化版(version=`
date +%s`
find . -name
"*.html"
|xargs-n1
sed-i
-e"/^\s*\"\(.*\.js\)\(?.*\)*\"/src=\"\1?v=$version
\"/g; }; /^\s*\"
\(.*\.css\)\(?.*\)*\"/href=\"\1?v=$version
\"/g; }"
非貪婪版本
)
#!/bin/shversion=`
date +%s`
find . -name
"*.html"
|xargs-n1
sed-i
-e"/^\s*\"\(.*\.js\)\(?.*\)*\?\"/src=\"\1?v=$version
\"/g; }; /^\s*\
"\(.*\.css\)\(?.*\)
*\?\"
/href=\"\1?v=$version
\"/g; }
"
前端優化(靜態資源)
expires 我現在給部落格裡所有的靜態資源設定了35天的快取過期時間,設定後感覺頁面的載入速度的確快了,我伺服器前端使用的是nginx,nginx設定資源檔案的expires挺簡單的 expire引數接受的值可以是 expires 1 january,1970,00 00 01 gmt 設定到具...
通過URL Rewrite實現鏈結靜態化
下面介紹2種簡單的apache php下實現url重寫的方法,第一種適合有伺服器配置許可權的使用者,第二種適合租用空間的使用者,也作為我近期的學習心得的整理。1 對於有伺服器配置許可權的使用者,推薦使用apache的mod rewrite模組,這裡假設已經安裝好mod rewrite模組。開啟apa...
wordpress優化之靜態化
前幾天有博友向我反映我的部落格訪問速度很慢,這可把我急壞了,訪問速度變慢直接影響訪客的體驗,我自己的體會也是如此,乙個網頁開啟很慢,就直接x掉,再好的內容也不看。所以花了幾個小時優化了一下我的部落格。說優化其實就是靜態化了一下。什麼是靜態化呢?簡單說一下,當我們瀏覽乙個網頁的時候,我們的瀏覽器向 所...