Akamai 多久刷新一次缓存?
我们使用 Akamai 缓存经常访问的文件。将文件上传和覆盖到 Akamai FTP 时,我看不到实时反映的新文件。
有人有这方面的经验吗?
请记住,这些文件也可能缓存在其他地方,包括客户端背后的任何代理服务器或浏览器缓存本身。解决此问题的一种简单方法是将查询字符串添加到 URL,并在每次更新文件时更改值,或将其设置为随机值以每次绕过缓存。服务器会忽略查询字符串,但浏览器和代理会认为它是一个完全不同的 URL 并重新请求它。
例如,而不是请求:
样式.css
要求:
样式.css?version=1
它是可配置的。您需要与组织中管理您的 Akamai 帐户的任何人交谈。他们将有权更改缓存的方式和内容。如有必要,他们可以让您联系 Akamai 的技术联系人。
要检查的另一件事是 Akamai 缓存的项目的生存时间。
我在工作中使用 Akamai,最近发现它会无限期地缓存任何最大年龄为零的东西。然后,当我将其更正为更有用的东西时,它会从同一个 url 随机返回旧项目和新项目。您可以在标题内容中看到旧项目(在本例中为 PDF 文件)的最大年龄仍然为零,而当前 PDF 具有新的最大年龄值。
为了解决这个问题,我们必须从 Akamai 清除 url,以便它使用更正的最大年龄值缓存 PDF 的新版本。现在,受影响的 PDF 仅在新的最长期限内保持缓存,并且我们始终收到正确的版本。
Akamai 网络上的文件可以使用最终客户需要的任何缓存配置进行调整。通常,我看到的两种最常见的缓存设计方法是:
如果您为您的请求启用以下编译指示标头,那么您可以检查 HTTP 响应标头并确定文件的缓存长度 - 它包含在缓存键中。
Pragma:akamai-x-cache-on、akamai-x-cache-remote-on、akamai-x-check-cacheable、akamai-x-get-cache-key、akamai-x-get-extracted-values、akamai- x-get-ssl-client-session-id, akamai-x-get-true-cache-key, akamai-x-serial-no, akamai-x-get-request-id,akamai-x-get-noces, akamai-x-get-client-ip,akamai-x-feo-trace
例如,以下表示缓存 4 天的文件:
x-cache-key:S/L/3568/82745/ 4d /mirror-somedomain.akadns.net/contentimages/meganav/020118/2018-02-01-someimg.jpg cid=_site_locale=us&site_language=en_