【问题标题】:Akamai Cache Key by CookieCookie 的 Akamai 缓存密钥
【发布时间】:2017-04-09 16:07:01
【问题描述】:

我们正在使用 Akamai 进行 A/B 测试,Akamai 是否可以通过一些 cookie 值获取不同的缓存。 例如:假设我在 www.example.com 下有 2 个应用程序 App-A 和 App-B,有没有办法在请求有 cookie “to-A=true”时转到 App-A 的缓存,如果cookie 有“to-A=false”?然后去App-B? 谢谢!

【问题讨论】:

    标签: cookies akamai abtest


    【解决方案1】:

    您可以使用 缓存 ID 修改 行为来实现此目的。您可以启用 包含以下 cookie 操作并在 要包含的元素 字段中提及您的 cookie 名称。 Akamai 基本上将为资源创建 2 个 cacheID(虽然 ID 会有所不同),并且 cacheID 将使用 cookie 名称(如果您在 Include values 属性中说 yes 则为 &values)构建。当传入请求设置了这些 cookie 时,Akamai 可以从 cacheID(其 ID 中包含 cookie 值)提供特定资源。

    在您的示例中,将为资源 abc.js 构造如下所示的缓存 ID。来自 Origin App A 的 abc.js 将保存在 to-A cacheID 下,而来自 App B 的 abc.js 将保存在另一个上。 X-Cache-Key:S/L/**/abc.js cid=_to-A=true_ X-Cache-Key:S/L/**/abc.js cid=_to-B=true_

    【讨论】:

    • 谢谢,像你说的那样使用缓存 ID 解决了我的问题。
    • 当 cookie 不存在时,Akamai 如何处理第一个请求?我知道 cookie 将由源添加,并且缓存键的形成甚至在到达源之前就发生了。所以当第一个请求来的时候,没有cookie,缓存键也不匹配。所以会有 3 个缓存 id 被创建?
    • @PrashantOnkar 如果您希望 Akamai 缓存内容,即使 cookie 不存在,我相信您需要将“需要包含的元素”设置为“不需要缓存”。如果你有那个设置,我相信你说的会有 3 个缓存 ID(或者当 cookie 丢失时可能是一个空白的cid)。请注意,我没有对此进行测试。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-05
    相关资源
    最近更新 更多