Apache啟用mod expires模組

2021-05-26 16:07:20 字數 3871 閱讀 9445

mod_expires可以減少10%左右的重複請求,讓重複的使用者對指定的頁面請求結果都cache在本地,根本不向伺服器發出請求。

在使用之前,首先要確認一下」mod_expires」模組是否有啟用.如果是自己安裝apache來架設網頁主機的話,這裡我們可以透過編輯apache的」httpd.conf」設定檔來處理.搜尋一下,你可能會找到這麼一行:

#loadmodule expires_module modules/mod_expires.so

複製**

將該行前面的」#」字型大小刪除,然後將」httpd.conf」設定檔儲存後,重新啟動apache來使這個更新生效.

當然如果我們是租用虛擬主機的話,」httpd.conf」設定檔我們一般使用者是接觸不到的,而在**根目錄裡寫個」.htaccess」設定檔, 我想在運用上相對是較靈活的.」mod_expires」的設定資料除了可以寫在apache的」httpd.conf」設定檔中,也可以寫 在」.htaccess」設定檔裡.

接下來我們直接由範例中來學習吧.

範例一:

expiresactive on

expiresdefault 「access plus 10 days」

expiresbytype text/css 「access plus 1 second」

複製**

範例二:

expiresactive on

expiresdefault a86400

expiresbytype image/x-icon a2592000

expiresbytype text/css a2592000

expiresbytype image/gif a604800

expiresbytype image/png a604800

expiresbytype image/jpeg a604800

expiresbytype text/plain a604800

expiresbytype video/x-flv a604800

expiresbytype text/html a900

複製**

範例三:

expiresactive on

expiresdefault a0

# 1 年

expiresdefault a9030400

# 1 星期

expiresdefault a604800

# 3 小時

expiresdefault a10800″

複製**

使用來包夾指令可以避免在mod_expires模組沒有啟用的情況下還要去 執行.如果mod_expires模組確定已經啟用,那不寫也沒關係.

expiresactive on是指啟用mod_expires功能,相對的off就是關閉功能.

expiresdefault指令是設定預設的過期時間.

從範例一和範例二中,各位可以看到關於時間設定的方式有分兩種,乙個是文字敘述型,乙個是**加上秒數型.

文字敘述型:

「access plus 10 days」意指瀏覽時起算10天.依照apache官方說明檔案,過期起算時間有三種,分別是access、now 以及modification.其中access與now意義相同,而modification指的是網頁檔案的」最後編輯時間」.所以如果要以檔桉的最 後編輯時間起算,可以寫成這樣,」modification plus 10 days」.而時間的指定也很簡單,就是英文單字(years、months、weeks、days、hours、minutes、seconds).例 如,可以寫成這樣,」access plus 1 month 15 days 2 hours」.

**加上秒數型:

a86400意指瀏覽時起算1天.格式是**加上秒數.**有分兩種,」a」等同」access」,意指瀏覽時起算過期時間.使用**」a」比較適合應用 在不常變動的網頁檔案型別,例如.另外一種**是」m」,其意義等同於」modification」,指的是網頁檔案的」最後編輯時間」.使用代 碼」m」比較適合應用在經常變動的網頁檔案型別,例如html頁面這類經常更新內容的資料.秒數資料我在文後附上參考資料,可以供各位快速參考.

expiresbytype指令是依照不同的網頁檔案型態來做過期時間設定.

例如,expiresbytype text/css a2592000,意指**上的css風格檔3天後過期; expiresbytype image/gif a604800,意指**上的gif圖檔在7天後過期.

範例三里,使用了來包夾各型態的網頁檔案,而不是使用」expiresbytype」指令,這也是一種用法.

利用apache模組mod

_expires和mod_headers實現檔案快取,add an expires

header|為檔案頭指定expires

大家在使用yslow的**速度

優化,常會看到add an expires header

這一條分值很低,搜尋很多但還不知道怎麼該。下面就是答案。

add an expires header / 為檔案頭指定expires

給靜態檔案加上過期標誌

。讓瀏覽器或者cdn伺服器快取

起來,加速和其他靜態檔案的載入。

expires是瀏覽器cache機制的一部分,瀏覽器的快取取決於header中的四個值: cache-control, expires, last-modified, etag。

優化這個選項,所要做的是對站內所有的檔案有針對性的設定cache-control和expires.

我們要實現加上過期標誌可以利用apache模組mod_expires

和mod_headers

。通過配置.htaccess

檔案, 可以輕易地按檔案類別設定快取時間。對提高**速度有一定幫助。

1. 利用mod_expires

在.htaccess中新增如下語句:

expiresactive on

#預設所有檔案快取時間設定為300秒

expiresdefault a300

#html,plain-text快取300秒

expiresbytype text/html a300

expiresbytype text/plain a300

#圖示檔案快取30天

expiresbytype image/x-icon a2592000

#image類快取乙個星期

expiresbytype image/jpeg a604800

expiresbytype image/gif a604800

expiresbytype image/png a604800

但有乙個問題是我們常用的apache

主機經常不怎麼支援mod_expires,沒有關係,我們用另乙個模組使用mod_headers。

同樣在.htaccess檔案中新增如下內容可以實現快取:

# htm,html,txt類的檔案快取乙個小時

header set cache-control 「max-age=3600″

# css, js, swf類的檔案快取乙個星期

header set cache-control 「max-age=604800″

# jpg,gif,jpeg,png,ico,flv,pdf等檔案快取一年

header set cache-control 「max-age=29030400″

以下為樣本**:

header set cache-control 「max-age=604800, public」

header set cache-control 「max-age=18000, public, must-revalidate」

header set cache-control 「max-age=3600, must-revalidate」

Apache安全 安裝啟用 ModSecurity

modsecurity apache modsecurity crs 2 安裝 1 啟用 mod unique id 模組 2 驗證伺服器安裝了最新版本libxml2函式庫 3 停止apache httpd 4 解壓 gzip d modsecurity apache 2.6.3.tag.gz ta...

Apache啟用URL重寫模組

原文 需要對apache conf httpd.conf檔案做如下修改 1 將 loadmodule rewrite module modules mod rewrite.so前的 號去掉 2 allowoverride none改為allowoverride all 修改完成後,重啟apache,...

關閉apache啟用的TRACE Method

trace和track是用來除錯web伺服器連線的http方式。支援該方式的伺服器存在跨站指令碼漏洞,通常在描述各種瀏覽器缺陷的時候,把 cross site tracing 簡稱為xst。攻擊者可以利用此漏洞欺騙合法使用者並得到他們的私人資訊。如何關閉apache的trace請求 虛擬主機使用者可...