我們在日常運維工作中有一些問題,在訪問站點的時候有很多小圖片還有logo,各種各樣的圖片,chrom按F12可以看到它的一些元素,這裏麪包含了很多png,gif,js這些圖片文件他們佔用了很大的元素和空間,這個時候我們爲了把網頁傳輸的大小變小,我們可以把這些靜態的文件在咱們瀏覽器這一側做一個暫存,在服務端我們apache配置上是可以配置規定它的緩存多少時間的,當過了這個時間之後重新請求進行刷新,那就意味着我們這個網站會有很多次這樣的請求,每一次請求的話就不會再去服務端調用它,這樣就能夠解決很大的帶寬資源,本來我們的一個頁面有50K,當你把這些文件緩存之後呢可能就只要10K,它可以節省很大一部分帶寬,那我們怎樣去配置呢,編輯虛擬主機配置文件:
[root@zhangmengjunlinux ~]# !vim
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
加入一段配置,它用到的模塊叫“expires",以後配置靜態緩存的時候完全可以拷貝這個模板
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/gif "access plus 1 days"
ExpiresByType image/jpeg "access plus 24 hours"
ExpiresByType image/png "access plus 24 hours"
ExpiresByType text/css "now plus 2 hours"
ExpiresByType application/x-javascript "now plus 2 hours"
ExpiresByType application/x-shockwave-flash "now plus 2 hours"
ExpiresDefault "now plus 0 min"
</IfModule>
這個單位可以是‘天、小時、分鐘、月’
我們用curl去測試一下
[root@zhangmengjunlinux ~]# curl -x192.168.140.100:80 'http://www.test.com/static/image/common/logo.png' -I
HTTP/1.1 200 OK
Date: Thu, 31 Dec 2015 06:15:07 GMT
Server: Apache/2.2.31 (Unix) PHP/5.3.27
Last-Modified: Tue, 08 Dec 2015 02:39:16 GMT
ETag: "e3366-1149-52659e1375d00"
Accept-Ranges: bytes
Content-Length: 4425
Cache-Control: max-age=86400
Expires: Fri, 01 Jan 2016 06:15:07 GMT
Content-Type: image/png
這個地方多了一個max-age=86400 一天