配置静态元素的过期时间
来源:互联网 发布:淘宝卖家论坛首页 编辑:程序博客网 时间:2024/06/18 04:17
配置静态元素过期时间
浏览器去访问网站时会把静态文件(图片,css , js)默认缓存在电脑里。这样下次访问时就不用再去远程下载了。缓存多长时间?浏览器会有自己的机制,清空缓存。或者在远程服务器端可以设置。
服务器通过expires模块可以定义失效时间。
服务器定义静态元素过期时间配置:
<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>
这是expires模块,开关(ExpiresActive on ),为某些类型的静态元素配置过期时间,gif 的时间为1天( ExpiresByType image/gif “access plus 1 days”),png的一天(ExpiresByType image/png “access plus 24 hours”),css的两小时( ExpiresByType text/css “now plus 2 hour”)
打开网站(111.com/logo.png),这是会显示304
在服务器段配置元素过期时间:
编辑虚拟主机配置文件:
[root@shuai-01 111.com]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf<VirtualHost *:80> DocumentRoot "/data/wwwroot/111.com" ServerName 111.com ServerAlias www.111.com www.example.com # <Directory /data/wwwroot/111.com> # <FilesMatch 123.php> # AllowOverride AuthConfig # AuthName "111.com user auth" # AuthType Basic # AuthUserFile /data/.htpasswd # require valid-user # </FilesMatch> # </Directory> <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_HOST} !^111.com$ RewriteRule ^/(.*)$ http://111.com/$1 [R=301,L] </IfModule><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> SetEnvIf Request_URI ".*\.gif$" img SetEnvIf Request_URI ".*\.jpg$" img SetEnvIf Request_URI ".*\.png$" img SetEnvIf Request_URI ".*\.bmp$" img SetEnvIf Request_URI ".*\.swf$" img SetEnvIf Request_URI ".*\.js$" img SetEnvIf Request_URI ".*\.css$" img ErrorLog "logs/111.com-error_log" CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/111.com-access_%Y%m%d.log 86400" combined env=!img</VirtualHost>
这是一个模块,先看这个模块文件有没有打开
[root@shuai-01 111.com]# /usr/local/apache2.4/bin/apachectl -M |grep expires
在主配置文件中加载模块
[root@shuai-01 111.com]# vim /usr/local/apache2.4/conf/httpd.confLoadModule env_module modules/mod_env.soLoadModule expires_module modules/mod_expires.soLoadModule headers_module modules/mod_headers.so
检查配置文件语法是否错误并重新加载
[root@shuai-01 111.com]# /usr/local/apache2.4/bin/apachectl -tSyntax OK[root@shuai-01 111.com]# /usr/local/apache2.4/bin/apachectl graceful
这是在访问网站(111.com/logo.png)
没做过期和做了过期前后对比:
没做过期
做过期
在curl里也能反映出来
[root@shuai-01 111.com]# curl -x127.0.0.1:80 111.com/logo.png -IHTTP/1.1 200 OKDate: Thu, 21 Dec 2017 14:46:37 GMTServer: Apache/2.4.29 (Unix) PHP/5.6.30Last-Modified: Thu, 21 Dec 2017 14:12:26 GMTETag: "1914-560da4a1b6680"Accept-Ranges: bytesContent-Length: 6420Cache-Control: max-age=86400Expires: Fri, 22 Dec 2017 14:46:37 GMTContent-Type: image/png
阅读全文
0 0
- 配置静态元素的过期时间
- 【LAMP环境搭建】访问日志不记录静态、访问日志切割和静态元素过期时间
- thinkphp中session过期时间的配置
- Session过期时间配置
- linux学习第四十篇:访问日志不记录静态文件,访问日志切割,静态元素过期时间
- 十周第四次课 2017.12.21 访问日志不记录静态文件、访问日志切割、静态元素过期时间
- cookie 的过期时间
- Redis主从备份以及key的过期时间配置
- redis过期时间的过期策略
- 【组件】控制程序的过期时间
- 延长Session的过期时间
- 延长Session的过期时间
- MemCached过期时间的设置
- session过期时间的设置
- 设置session的过期时间
- Redis的设置过期时间
- Cookie的过期时间设置
- 设置session的过期时间
- 项目经理面试中可能遇到的问题(持续更新)
- 本地代码上传到Github
- 数据结构--静态单链表
- Android7.0去电流程源码分析(二)
- 面试前需考虑的25个问题
- 配置静态元素的过期时间
- 深入理解 Java 反射:Method (成员方法)
- Java注解之Retention、Documented、Target介绍
- Retrofit框架流程图
- AAA关于MySQL的事务处理及隔离级别
- 全字母句哪里错了
- Android RecyclerView的简便写法
- 关于Python中的import(一)
- LNMP环境配置