欢迎来到 岁月小筑

Apache设置expires以加速二次网页加载

在设置之前,我们要了解:

expires是什么?

Expires是RFC 2616(HTTP/1.0)协议中和网页缓存相关字段,用来控制缓存的失效日期。

换句话说,expires就是控制网页缓存的有效时间(生存期),如果不设置expires,每当你第二次及以上访问这个网站(从首页进入访问内页已经算二次访问了),都会重新请求一些固定的资源,既消耗更多的流量,也给服务器带来负担(流量多的情况特别明显)。

当你设置了expires后,重复的固定的资源,如:js、css、图片等,都会直接从本地的缓存调用,直到缓存失效。

如何开启expires

Aapache可以通过对mod_expires模块的控制来开启和关闭expires。首先要找到apache的配置文件。每个网站的apache配置文件目录不尽相同,岁月小筑以下文件夹为范例:

vi /usr/local/apache/conf/httpd.conf

通过vi编辑器的查找,我们可以很快找到mod_expires所在行:

/mod_expires
找到后按键盘上的字母i键可以进行编辑,也可以按insert键
#LoadModule expires_module modules/mod_expires.so

把#号去掉后即可加载mod_expires,若找不到,则说明未编译expires模块,需要自行编译。

去掉#号后,按Esc退出编辑模式,并使用

:wq

进行保存和退出。

保存后重启apache服务器即可应用新的配置文件:service httpd restart

expires具体的缓存设置

以岁月小筑为例,Wordpress的expires设置。

进入网站根目录,编辑.htaccess,在最后一行后加入:

#网站expires设置
ExpiresActive On
ExpiresDefault A0
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpg A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/ico A2592000
ExpiresByType text/css A604800
ExpiresByType text/javascript A43200
ExpiresByType application/x-javascript A43200
ExpiresByType application/javascript A43200

其中,A2592000表示的是,缓存时间2592000秒,也就是30天,604800表示的是7天,43200表示的是12小时。

expires设置后的效果

设置后的效果可以通过chrome的F12中的network看到:

可以明显看到回复头带有max-age函数,表示设置成功

点赞

发表评论

电子邮件地址不会被公开。