自設代理服務器緩存圖片節省上網流量
用移動公司的手機上網套餐,用電腦通過手機上網,這個相信已經有一部分人在進行了。怎樣節省流量,是一個大問題。
其實可以在電腦上安裝一個 Apache HTTP server, 配制成 forward proxy, 然后使用其中的緩存功能來節省流量。
怎么樣配置 forward proxy 這里不多說,網上一抓一大把。這里講的是,有很多網站并沒有明確指明圖片、.js/.css 在用戶的瀏覽器里面緩存一端時間,在這些網站的多個頁面中切換,就會產生很多的重復流量。
我們可以合理地假定,網站的圖片、.js/.css 文件,在一段時間內是不會變的。因此我們可以配置 Apache 修改這些網站的 圖片、.js/.css 文件緩存時間,避免重復傳輸同樣的文件。
配置方法很簡單,在 httpd.conf 中,打開 mod_headers, mod_mem_cache, mod_cache, mod_file_cache, 加上以下配置:
#local forward proxy server
Listen 5081
Include conf/extra/httpd-vhosts-5081.conf
新建一個文本文件, httpd-vhosts-5081.conf, 放在conf/extra/ 目錄中(windows版本 apache)。在此文件中,加上這樣的配置(圖片文件緩存 365 天,js/css 緩存 1 小時):
#local forward proxy server
NameVirtualHost *:5081
#local forward proxy server
<VirtualHost *:5081>
ProxyRequests On
ProxyVia On
<LocationMatch "\.(js|css)$">
Header unset P3P
Header unset Cache-Control
Header unset Expires
Header unset Pragma
Header unset ETag
FileETag None
#cache 1 hour
Header set Cache-Control "max-age=3600, public"
</LocationMatch>
<LocationMatch "\.(gif|jpe?g|png)$">
Header unset P3P
Header unset Cache-Control
Header unset Expires
Header unset Pragma
Header unset ETag
FileETag None
#cache 365 days
Header set Cache-Control "max-age=31536000, public"
</LocationMatch>
</VirtualHost>
當然了,也可以調整這里的時間參數,單位為秒。可以用 Excel/計算器事先計算好需要的秒數。
-----------------------
轉載請注明出處: http://jacklondon.cnblogs.com
--
歡迎大家訪問我的網站并提建議,我想看看有哪些地方的人訪問不了 :

浙公網安備 33010602011771號