首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从服务器获取图像时出现缓存问题

从服务器获取图像时出现缓存问题
EN

Stack Overflow用户
提问于 2014-06-05 11:46:48
回答 4查看 1K关注 0票数 2

我正在建立一个网站,其中各种css精灵使用。但我的问题是,当我对上传的图像进行任何更改时,有时它不会反映在客户端浏览器上,因为有时页面及其数据,如css,图像,javascripts是从浏览器缓存中加载的。

在这种情况下,请建议我怎么做。我应该把这些放在

代码语言:javascript
复制
<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>

在HTML页面中?

或者有什么想法来解决这个问题?

EN

Stack Overflow用户

发布于 2014-06-05 12:58:56

您还应该检查页面发送的标头。缓存可能是一个令人头疼的问题,因为当浏览器面对服务器端的缓存头时,通常会以不同的方式处理您所拥有的HTML缓存标记。

检查您是否是Unix/Linux机器的最好方法是使用带有-I参数的curl。例如,以下是用来检查Google时curl -I的输出:

代码语言:javascript
复制
curl -I https://www.google.com/

HTTP/1.1 200 OK
Date: Thu, 05 Jun 2014 04:59:23 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie: PREF=ID=926cae6eb35d6ed1:FF=0:TM=1401944363:LM=1401944363:S=QXyixlyAVYyBE4TK; expires=Sat, 04-Jun-2016 04:59:23 GMT; path=/; domain=.google.com
Set-Cookie: NID=67=DxR2KWNdGhQ_u3QCtFUK1TH4dTmef-FfFP67FZiKFDIFJqsdYMPo-3w3mqGD4Iag2t-c-ae1LiNrcX4JslRsxWYCqhBvu0g0tEUA4dKpb07keOkXsAG7uBLynWvN3wzA; expires=Fri, 05-Dec-2014 04:59:23 GMT; path=/; domain=.google.com; HttpOnly
P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."
Server: gws
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 443:quic
Transfer-Encoding: chunked

注意Expires: -1,这基本上意味着页面不会被缓存。现在查看Google徽标PNG图像的标题:

代码语言:javascript
复制
curl -I https://www.google.com/images/srpr/logo11w.png

HTTP/1.1 200 OK
Content-Type: image/png
Content-Length: 14022
Last-Modified: Wed, 09 Oct 2013 01:35:39 GMT
Date: Thu, 05 Jun 2014 04:56:40 GMT
Expires: Thu, 05 Jun 2014 04:56:40 GMT
Cache-Control: private, max-age=31536000
X-Content-Type-Options: nosniff
Server: sffe
X-XSS-Protection: 1; mode=block
Alternate-Protocol: 443:quic

请注意该图像如何具有更具体的Cache=ControlExpires:设置。

因此,我建议您对有问题的内容使用curl -I。可能有一个服务器设置阻碍了您的HTML更新,它只能在服务器级别上被真正覆盖。

票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24051311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档