(1)介绍

那到底能缓存多久呢?如果服务器上的某个图片更改了,那么应该访问新的图片才对。这就涉及一个静态文件缓存时长的问题,也叫作“缓存过期时间”。在httpd的配置文件中,我们是可以控制这个时间的。

2)配置

在httpd上我们可以控制文件过期时间,配置如下:

#vim /usr/local/apache2 .4/conf/extra/httpd-vhosts.conf

<VirtualHost *:80>

ServerAdmin webmaster@dummy-host.example.com

DocumentRoot "/usr/local/apache2.4/docs/www.111.com"

ServerName www.111.com

ServerAlias 111.com

<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 hour"

ExpiresByType application/x-javascript "now plus 2 hours"

ExpiresByType application/javascript "now plus 2 hours"

ExpiresByType application/x-shockwave-flash "now plus 2 hours"

ExpiresDefault "now plus 0 min"

</IfModule>

ErrorLog "logs/111.com-error_log"

CustomLog "logs/111.com-access_log" combined

</VirtualHost>

//这里gif,jpeg, png格式的文件过期时长为1天,css. js. flash格式的文件过期时长为2小时

#/usr/local/apache2.4/bin/apachectl -t

Syntax OK

#/usr/local/apache2.4/bin/apachectl graceful

(3)配置验证

检查httpd是否加载expires模块:

#/usr/local/apache2.4/bin/apachectl -M |grep -i expires

//没有输出则说明当前httpd并不支持expires模块,所以需要修改配置文件

#vim /usr/local/apache2.4/conf/httpd.conf

//搜索关键词expires,找到这一行

#LoadModule expires_ module modules/mod_ expires .so

//把前面#删掉

#/usr/local/apache2.4/bin/apachectl graceful

//重新加载服务

#/usr/local/apache2.4/bin/apachectl -M|grep -i expires

expires_module(share)

//有这行输出说明正确加载expires模块

下面进行测试:

上传linux.jpeg文件

# curl -xlocalhost:80 www.111.com/image/linux.jpeg -I

//max-age=86400说明将缓存86400秒,max-age=0说明没有该类型缓存文件

测试

Apache配置 7.静态元素过期时间的更多相关文章

  1. Linux centos7 VMware Apache访问日志不记录静态文件、访问日志切割、静态元素过期时间

    一.Apache访问日志不记录静态文件 网站大多元素为静态文件,如图片.css.js等,这些元素可以不用记录 vim /usr/local/apache2.4/conf/extra/httpd-vho ...

  2. nginx配置静态文件过期时间

    1. 编辑虚拟主机配置文件/usr/local/nginx/conf/vhosts/huangzhenping.conf 说明:采用location方式 1 2 3 4 5 6 7 8 9 10  l ...

  3. java设置配置session过期时间的方法

    1) Timeout in the deployment descriptor (web.xml)以分钟为单位 代码如下 复制代码 <web-app ...> <session-co ...

  4. LNMP-Nginx配置不记录静态文件、过期时间

    用户访问web网站,通常日志文件会记录很多web站点上的一些静态文件信息,如果长期不处理,日志文件会越来越大,占用的系统资源也越大,此时就需要我们配置不记录静态文件和过期时间,减少日志文件记录过多不必 ...

  5. php中实现精确设置session过期时间的方法

    http://www.jb51.net/article/52309.htm 大多数据情况下我们对于session过期时间使用的是默认设置的时间,而对于一些有特殊要求的情况下我们可以设置一下sessio ...

  6. 转:php中实现精确设置session过期时间的方法

    原文来自于:http://www.jb51.net/article/52309.htm 大多数据情况下我们对于session过期时间使用的是默认设置的时间,而对于一些有特殊要求的情况下我们可以设置一下 ...

  7. Nginx设置静态页面压缩和缓存过期时间的方法

    使用nginx服务器的朋友可能都知道需要设置html静态页面缓存与页面压缩与过期时间的设置了,下面我来给各位同学介绍一下配置方法,包括对ico,gif,bmp,jpg,jpeg,swf,js,css, ...

  8. ActiveMQ队列消息过期时间设置和自动清除解决方案

    版本 apache-activemq-5.15.3 1.消息过期设置 参数详情 1)message过期则客户端不能接收 2)ttlCeiling:表示过期时间上限(程序写的过期时间不能超过此时间,超过 ...

  9. Nginx访问日志、日志切割、静态文件不记录日志和过期时间

    6月8日任务 12.10 Nginx访问日志12.11 Nginx日志切割12.12 静态文件不记录日志和过期时间 12.10 Nginx访问日志 除了在主配置文件nginx.conf里定义日志格式外 ...

随机推荐

  1. 国产网络损伤仪 SandStorm -- 只需要拖拽就能删除链路规则

    国产网络损伤仪SandStorm可以模拟出带宽限制.时延.时延抖动.丢包.乱序.重复报文.误码.拥塞等网络状况,在实验室条件下准确可靠地测试出网络应用在真实网络环境中的性能,以帮助应用程序在上线部署前 ...

  2. int、long long等的取值范围

    unsigned   int   0-4294967295   int   -2147483648-2147483647 unsigned long 0-4294967295long   -21474 ...

  3. 017.NET5_内置容器基本使用

    IOC容器IServiceCollection .net 5已经内置了IOC容器. 什么是IOC? 把对象的创建交给第三方容器去创建 如何使用内置的 IOC IServiceCollection ? ...

  4. 如何将 js 同步方法转换成异步方法

    如何将 js 同步方法转换成异步方法 // promise export const getUserToken = () => new Promise((resolve, reject) =&g ...

  5. Angular 2 for 2017 web full stack development

    1 1 1 Angular 2 for 2017 web full stack development 1 1 https://angular2.xgqfrms.xyz/ https://ng2-he ...

  6. copy-webpack-plugin & ignore folder

    copy-webpack-plugin & ignore folder https://github.com/webpack-contrib/copy-webpack-plugin#ignor ...

  7. virtual whiteboard

    virtual whiteboard 虚拟白板 / canvas https://twitter.com/excalidraw https://excalidraw.com/ https://gith ...

  8. WebRTC in Action

    WebRTC in Action https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API https://codelabs.develo ...

  9. GraphQL API In Action

    GraphQL API In Action GraphQL API express $ yarn add express express-graphql graphql # OR $ npm i -S ...

  10. useful tools for programmer programming

    useful tools for programmer programming devtools repl & playground https://repl.it/@xgqfrms/ htt ...