【问题标题】:akamai caching and site renderingakamai 缓存和站点渲染
【发布时间】:2010-09-09 01:32:24
【问题描述】:

我是一家大型电视台的网络人。我们的网站由 Akamai 缓存。页面在我们的测试环境(未缓存)和我们的“原始”页面(同样,未缓存)中完美呈现,但是当在我们的实时环境(缓存站点)上查看它们时,它们的呈现方式与我的呈现方式不同对它们进行编码。也许是一点点间距,也许是 CSS 元素(尤其是背景)没有显示,最糟糕的是,忘记浮动 DIV。由于无法浮动,我不得不做多少表格设计,这太疯狂了。

还有其他人有这样的缓存经验吗?有什么工具可以用来查看渲染的变化吗?

没有人可以寻求支持,因为公司不相信问题存在。如果可以,请提供帮助。

该站点建立在我无法访问的 VB.Net 后端上。我只能访问前端。

【问题讨论】:

    标签: caching rendering akamai


    【解决方案1】:

    我一直在研究 Akamai 背后的网站,老实说他们不会弄乱您的代码,所以这不是问题所在。很可能是以下情况之一:

    您遇到了缓存延迟问题 - 您更新了 html 和 css,其中一个已更新,而另一个仍由 Akamai 缓存或使用时间戳来增加相关文件。这里有几种解决方案,包括确保通过 Akamai 的控制面板清除缓存以及更多编程方式的编码。标题也可以使用,但不是真正的首选方式。

    绝对 URL - 在多个环境中进行测试时最好使用相对 URL,以确保您将所有内容都指向同一个环境。

    这绝对是环境问题,而不是 Akamai 问题。

    【讨论】:

      【解决方案2】:

      样式表、Javascript 文件等是否都从 Akamai 正确加载?

      您能否保存直接从“原始”服务器检索到的页面副本和使用 Akamai 保存的副本,然后使用 diff 查找更改?

      而且,最重要的是,您问过 Akamai 吗?这不是一个真正的编程问题:)

      【讨论】:

      • 不幸的是,我无法确定 Akamai 是如何加载内容的,因为我只是前端人员。但这意味着我所做的任何事情都是最明显的,我们不能只是去找总经理说“这是公司的错”。不过我会试试你的建议。
      【解决方案3】:

      从开发中下载所有文件作为静态文件,然后从生产中下载。并使用 WinMerge 之类的工具来查看差异。

      如果您按 CTRL-F5 刷新浏览器,这个问题也会消失吗?

      【讨论】:

        【解决方案4】:

        也许 Akamaia 没有看到 HTML 代码中 的 CSS 文件的更新版本?在 URL 中嵌入版本号可能是个好主意,这样当您发布 HTML 的更新版本时,它总是会向 Akamai 询问 CSS 的新版本(我想这也适用于图像)。

        理论上,Akamai 应该能够识别您的 Web 服务器发送的更新的缓存标头,但我从来没有从事过不需要采取一些对策来确保我们可以强制 Akamai 刷新它的工作缓存版本。

        【讨论】:

        • 大部分与CSS的变化无关;当我使用 CSS 来布置单个页面时,我通常在页面级别而不是在链接标签中进行。我们确实有一个缓存破坏器,但这并不能解决问题。我尝试的第一件事。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-16
        • 2017-04-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多