使用JavaScript修改客户端的HTTP标头

com*_*tta 1 javascript caching http-headers

是否可以使用JavaScript动态更改从外部源加载图像时收到的HTTP标头?我正在尝试控制客户端的图像缓存(Expires,Max-Age等等),因为我无法访问服务器.

Dan*_*man 5

正如其他人所说的那样,不可能在客户端代码中操纵服务器的http头和缓存指令.

什么是可能的

你有能力做的是确保你得到一个新文件.这可以通过将唯一字符串附加到请求的URL作为查询字符串参数来完成.

例如,如果您想确保每小时都有一个新文件

<script type="text/javascript">

var d = new Date();
url += ("?" +d.getYear() + "_" + d.getDay() + "_" + d.getHours());

</script>
Run Code Online (Sandbox Code Playgroud)

这样做是将包含年,日和小时的值添加到URL,因此每小时它将是唯一的,从而确保新的文件请求.(未经测试!)

显然,这可以更加通用和精细调整,但希望你能得到这个想法.

什么是不可能的

您不能做的是确保您不会从服务器检索新版本.