CNode

如何避免缓存

问答
Nnighca发布于12 年前最后回复12 年前3 回复5359 浏览0 收藏

理论上通过在服务端设置响应的head就可以控制客户端是否缓存资源。如:

Cache-control: no-cache
Cache-control: no-store
Pragma: no-cache
Expires: 0

可是为什么多数总是需要避免缓存的情况(如请求验证码图片)下,是采用前端url拼接随机参数的方式避免缓存,而不是服务端来控制呢。

通过服务端设置响应头的控制缓存方式是有什么坑吗?

查看回复

回复 (3)

S
someus#1·12 年前

个人认为,对验证码,这两种方式都应该很合适。但是对js、css等静态文件不一定合适。比如,my.js版本是v1,可以:

<script src="my.js?v=v1"></script>

在my.js再一次修改之前是适合缓存的。当my.js修改后版本变成v2,则可以:

<script src="my.js?v=v2></script>

这样,客户端就用到了最新的my.js

T
think2011#2·12 年前

目前采用的办法是用 gulp 自动加参数,类似 @someus 的那种,服务端的不会,所以没试过。

参与回复
登录后即可参与回复。登录