自设代理服务器缓存图片节省上网流量
更新时间:2011年01月01日 17:56:46 作者:
用移动公司的手机上网套餐,用电脑通过手机上网,这个相信已经有一部分人在进行了。怎样节省流量,是一个大问题。
其实可以在电脑上安装一个 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/计算器事先计算好需要的秒数。
怎么样配置 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/计算器事先计算好需要的秒数。
相关文章
windows下文件同步工具 CwRsync 4.0.2 安装配置方法(图文)
这篇文章主要介绍了CwRsync 4.0.2 安装配置方法,需要的朋友可以参考下2015-01-01DELL R720服务器安装Windows Server 2008 R2系统的图文详解
这篇文章主要介绍了DELL R720服务器安装Windows Server 2008 R2系统的图文详解,需要的朋友可以参考下2021-03-03windows服务器如何创建.开头(.well-known)的文件夹
国内的云服务商腾讯云提供免费有效期一年的SSL证书,申请过程中需要身份验证,需要dns域名解析或者服务器文件验证。如果想使用文件验证,必须创建一个以.开头的文件,使用windows服务器如何创建.开头的文件夹。2023-04-04在CentOS6.5上使用Jexus安装部署ASP.NET MVC4和WebApi
本文主要介绍如何在CentOS6.5安装Jexus,并介绍其常用命令以及如何创建和部署ASP.NET MVC4项目,从而实现跨平台部署。2016-05-05服务器定时执行计划任务,定时访问页面(windows/linux)
最近在做一个网站需要定时生成sitemap,如果人工操作容易忘记,不如服务器上自动执行生成更方便,其实很简单一句话就ok了,还支持参数2016-11-11在VPS上用3Proxy架设http代理和socks代理(Ubuntu环境)
前几天记录了在廉价的xen vps主机上通过squid架设http代理的情况,试用效果非常不错。但是现在需要增加socks代理,这方便squid就无能为力了,于是改用传说中的轻量级的NB代理软件3Proxy。2010-07-07
最新评论