前端優化 靜態鏈結版本化

2021-08-27 07:27:05 字數 1029 閱讀 1234

我們知道在伺服器端不做任何設定的情況下,瀏覽器缺省會自動對靜態資源進行快取。但是每個版本的一些靜態資源或多或少都會有所不同。避免瀏覽器快取的方法是更新鏈結(

版本發布

時給靜態資源鏈結新增版本號

),這樣瀏覽器識別為新的鏈結,就會去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/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; }

"

前端優化(靜態資源)

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掉,再好的內容也不看。所以花了幾個小時優化了一下我的部落格。說優化其實就是靜態化了一下。什麼是靜態化呢?簡單說一下,當我們瀏覽乙個網頁的時候,我們的瀏覽器向 所...