首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Akamai边缘服务器上刷新同名上传的图像

在Akamai边缘服务器上刷新同名上传的图像
EN

Stack Overflow用户
提问于 2011-02-17 21:59:55
回答 2查看 4.4K关注 0票数 0

我有一个在Akamai上传图像的应用程序。有时,我们需要上传与之前相同的名称的图像。当我这样做时,akamai不会根据时间戳刷新边缘服务器上的图像。但是,如果我重命名图像并上传,我的更改会反映在所有边缘服务器上。

是否有任何ESI指令可用于确保刷新映像。我知道这会超过使用CDN的目的,但我需要在选定的内容上使用此功能。

任何帮助或指导都是很棒的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-21 13:26:21

我相信akamai支持If-Modified- want /ETAGs,这应该会得到你想要的东西。简单地看一下文档,我发现了以下要点,它们应该会对您有所帮助。

//来自Akamai文档//

确保源服务器正在发送指示对象版本的信息,以便边缘服务器可以在这些对象过期时发送有条件的GET请求。

此外,如果文件自指定时间以来未更改,或者指定的ETag值仍然匹配,请确保您的源服务器正确响应这些条件请求,并显示304 Not Modified。

Cache-Control和Expires标头指示浏览器是否缓存对象以及缓存多长时间。但是,在刷新过期对象时,浏览器必须具有指示对象版本的信息,以便在有条件的GET请求中发送到服务器。

浏览器通常可用的特定于版本的信息可能包括(除其他外):

Last- Modified :如果在缓存对象时,浏览器接收到对象的Last-Modified标头,则浏览器可以在刷新对象时发送If -Modified- send标头,如果对象自指定日期以来已更改,则请求服务器发送该对象;如果自指定日期起未更改,则请求服务器发送304 not Modified响应。例如,在HTTP响应中接收到的: Last-Modified: Fri,06 Feb 2009 00:08:43 GMT

ETag: ETag是唯一的字符串,用于标识对象的特定版本。如果浏览器接收到包含对象的ETag标头,则可以在刷新对象时发送If-None-Match标头,如果对象的当前ETag与请求中的ETag不匹配,则请求服务器发送对象;如果匹配,则返回304 not Modified响应。例如,在超文本传输协议响应中收到: ETag:"4514b5-4824-4743e60ff96c0“请确保您的站点正在发送指示对象版本的信息,以便当这些对象过期时,浏览器可以向服务器发送条件GET请求。

票数 1
EN

Stack Overflow用户

发布于 2011-03-10 15:57:01

如果Akamai EdgeSever缓存中有该对象,它将服务于该对象,而不会检查其来源。当您更改文件名时,EdgeServer不会在缓存中包含该对象,因为它将该对象视为新对象( EdgeServers具有缓存键的概念,缓存键由文件名和其他一些内容组成)。高速缓存键是EdgeServer如何在高速缓存中定位对象)。

如果您在源上更改了对象(例如,您更改了文件的内容,但不更改文件名),并且EdgeServer在缓存中具有该对象,则它将在不检查源的情况下为其提供服务。

如果需要就地更改文件,可以通过Content Control Utility使用清除机制。登录到web控制面板,将有一个用于手动清除文件的GUI界面。或者,您可以使用SOAP API。

如果您经常更改文件,清除成为一个问题,您应该考虑更新您的配置。您可以为您的内容设置一个较低的ttl (生存时间),或者您可以为该内容设置一个no-store,这将强制EdgeServer在每次请求一个对象时向您的源发出一个If-Modified- set请求。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5029881

复制
相关文章

相似问题

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