WPO基础:不同操作系统下如何设置Expires Header


 

在前文《 WPO基础:浏览器缓存、条件GET请求和Expires Header 》中提到,设置超长时间的Expires Header后,浏览器不需要和服务器交互,直接从缓存读取数据。那么不同操作系统下怎样添加Expires头呢?

 

 IIS 7.0下设置Expires头

选择你希望添加Expires头的目录,点击“HTTP Response Headers”,点击右侧“Set Common Headers”,出现图-35。勾选“Expire Web content”,然后点选 “On (in Coordinated Universal Time(UTC))”将过期时间设置为2020年的某个时间就大功告成了。

 

除了选择某个时间点过期,也可以用多长时间之后过期。设置方法是点选After,然后选择时间段。之所以有这个选项,可能是考虑到有些同志手多会将电脑的系统时间乱改,比如我上次看完王家卫的电影后,手贱将系统时间改成2046年后来忘记改回来,结果发现很多网页的缓存都过期了 : )

 

Expires头设置完成后,会在网站对应的目录下生成一个 web.config文件(或在已存在的web.config文件中添加如下几行)

<configuration><system.webServer><staticContent><clientCache cacheControlMode=”UseExpires” httpExpires=”Sat, 01 Feb 2020 00:00:00 GMT” /></staticContent></system.webServer></configuration>

 

 

IIS 6.0下设置Expires头

进入IIS,选择网站,右键菜单,点击属性。点击“HTTP头”,出现图6-36。设置方法类似IIS7.0,就不赘述了。

 

Apache下设置Expires头

在Apache环境下,目录中会存在.htaccess文件。如果没有的话,可以用文本编辑器创建一个。在这个文件内写入如下代码

FileETag MTime SizeExpiresActive onExpiresDefault “access plus 20 year”

上述代码将目录下所有的文件的过期时间设定为20年后。

 

单独的PHP文件设置Expires头

通常,我们很少对HTML或PHP文件设定Expires头,因为这些文件往往会有变动或者更新。但不排除例外情况,比如某些公司的“关于我们”页面,一辈子也没修改过 :)。这种情况下,可以单独针对某个PHP页面设置Expires头:

<?phpheader(“Expires: Mon, 01 Jan 2020 00:00:00 GMT”);?>

上述代码将目录下所有的文件的过期时间设定为2020年。

 

作者: 谭砚耘@用户体验与可用性设计-科研笔记

版权属于: 谭砚耘 (TOTHETOP至尚国际  )

版权所有。转载时必须以链接形式注明作者和原始出处

如果你希望与作者交流,请发送邮件到 tanyanyun/at/163.com 别忘了修改小老鼠

你可能感兴趣的:(header,性能优化,expires,网站性能优化,WPO,头过期)