静态内容缓存设置
Ⅰ Nginx缓存设置教程
| 这篇文章主要介绍了Nginx缓存设置案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下 |
在开发调试web的时候,经常会碰到因浏览器缓存(cache)而经常要去清空缓存或者强制刷新来测试的烦恼,提供下apache不缓存配置和nginx不缓存配置的设置。在常用的缓存设置里面有两种方式,都是使用add_header来设置:分别为Cache-Control和Pragma。
对于站点中不经常修改的静态内容(如图片,JS,CSS),可以在服务器中设置expires过期时间,控制浏览器缓存,达到有效减小带宽流量,降低服务器压力的目的。
以Nginx服务器为例:
【背景】:Expires是Web服务器响应消息头字段,在响应http请求时告诉浏览器在过期时间前浏览器可以直接从浏览器缓存取数据,而无需再次请求。
【相关资料】
1、Cache-control策略
Cache-Control与Expires的作用一致,都是指明当前资源的有效期,控制浏览器是否直接从浏览器缓存取数据还是重新发请求到服务器取数据。只不过Cache-Control的选择更多,设置更细致,如果同时设置的话,其优先级高于Expires。
http协议头Cache-Control :
值可以是public、private、no-cache、no- store、no-transform、must-revalidate、proxy-revalidate、max-age
各个消息中的指令含义如下:
Last-Modified/If-Modified-Since
其最终达到的就是等效于设置这三类html缓存技术:
Ⅱ 怎样设置静态网页缓存
对于IE浏览器来说,按照以下方法设置:
点击“工具”→“Internet 选项”→“常规”标签→“浏览历史记录”“设置”→“移动文件夹”。然后指定你要使用哪个文件夹做为IE缓存目录。
Ⅲ 静态资源常用的一种缓存方式
http缓存分为强缓存和协商缓存。
强缓存并不会请求服务器,同时响应码会返回200。比如使用的配置cache-control:max-age=1200
在项目中缓存图片等静态资源常用的是协商缓存。
在第一次请求静态资源的时候,服务器会根据资源内容生成etag, 在响应头里返回给浏览器,在下次请求的时候浏览器会在头部配置If-None-Match,携带etag来向服务器询问资源是否发生改变。若是没有发生改变会返回304,这样浏览器就不会从服务器重新获取资源而是直接使用本地缓存。采用etag可以解决文件名没有发生变化但是文件内容被修改的问题。
通常会跟cache-control: no-cache 在一起配合使用。no-cache是指浏览器可以缓存响应,但是必须要向原始服务器提交验证请求。
参考:
https://www.imperva.com/learn/performance/cache-control/
https://blog.csdn.net/aimeimeiTS/article/details/105731709
https://www.zoo.team/article/http-cache
https://imweb.io/topic/5795dcb6fb312541492eda8c
https://aotu.io/notes/2016/09/22/http-caching/index.html
Ⅳ 关于php如何实现静态缓存问题如下
楼主,你所说的这个的实现则是
+
根据文件来判断的,每个文件在生成的时候都有一个创建时间,
+
而在数据库的设计中,则是存在这一个修改时间,
+
也就是用数据库来存储和计算这两个值的差值或者是是否相同,
+
再来判断是否要重新生成实质性的HTML文件..
根据楼主的描述,大致的解决思路如上..
而有关
ob_start
的理解,则是:
+
ob_start
先将数据放入
ob
缓存
+
ob_flush
再将缓存数据输出到程序缓存中
+
ob_end_clean
清空缓存并且关闭缓存
+
程序输出
而在页面静态化中,缓存的方法有:
+
ob缓存
+
smarty
缓存
+
ThinkPHP
缓存
+
模版缓存
静态化又分为:
+
实质的静态化
+
伪静态化
这是本人的理解,楼主可以在此基础上加强,形成自己的理解..
Ⅳ 如何为WordPress和Typecho设置静态资源缓存
在HTTP标头中为静态资源设置过期日期或最长存在时间,可指示浏览器从本地磁盘中加载以前下载的资源,而不是通过网络加载。这样, 网站加载速度会更快.
下面的代码都需要放到.htaccess中才能生效. 推荐设置过期时间为一个月, 即: max-age=2592000.
####通过FilesMatch设置
<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|css|js)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>
####通过mod_expires.c设置
<IfMole mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 months"
ExpiresByType text/html "access plus 1 months"
ExpiresByType image/gif "access plus 1 months"
ExpiresByType image/jpeg "access plus 2 months"
ExpiresByType application/x-shockwave-flash "access plus 2 months"
ExpiresByType application/x-javascript "access plus 2 months"
</IfMole>
如需针对具体的资源类型需要这样:
ExpiresByType image/gif "access plus 5 hours 3 minutes"
更多规则参考Apache Mole mod_expires.
参考来源:
Cache Control with htaccess FILES MATCH
Apache里配置 mod_expires 和 mod_headers 以支持CACHE
Tags: wordpress静态资源缓存, typecho静态资源缓存, wordpress浏览器缓存, typecho浏览器缓存, 静态资源缓存, 浏览器缓存,wordpress cache expire, typecho cache expire
Ⅵ 如何设置静态内容缓存时间
一、打开IIS,鼠标右键你要设置的网站,然后“属性”
(第一步操作)
二、选择“HTTP头”选项卡,勾选“启用内容过期”,选中“立即过期”,然后“确定”。
(第二步操作)
解释一下这一步的效果。设置此网站所有内容都不进行缓存,也就是每次访问都全新加载。
三、展开网站,找到要进行缓存的目录。(一般是存放上传文件、图片、JS等文件的目录)然后“鼠标右键”----“属性”
(第三步操作)
四、选择“HTTP头”选项卡,勾选“启用内容过期”,选中“此时间段后过期”,设置过期时间,然后“确定”
(第四步操作)
OK,这时候已经设置成功了。