当资产的 URL 具有可变查询参数时如何缓存资产?

How to cache an asset when the URL of the asset has a variable query parameter?

我有一个简单的延迟问题,我认为应该可以解决,但我 运行 没有想法。任何帮助将不胜感激。

我有一个永远不会改变的页面,它在美国托管,但许多客户在日本,延迟非常糟糕。

问题是页面中的 Javascript 代码需要从源传递的 ID。所以,我们把 id 放在一个查询参数中,这样就可以了,但是它会破坏缓存并且延迟很糟糕。它应该在本地缓存。 id 是一个不可预测的随机主键,但实际页面永远不会改变。

因此,问题是页面永远不会被浏览器缓存,尽管内容永远不会改变。我可以看到浏览器只看到不同的 url 并绕过缓存,但现在我们做单页应用程序并且喜欢 javascript 我想我应该对此有更多的控制。无论哪种方式,我似乎都找不到可接受的解决方案。

我们尝试使用 openWindow() 并稍后传递 id,但 openWindow 无法可靠地工作,因为许多浏览器会阻止弹出窗口。我们还尝试了一个最小的页面,将大 Javascript 引用为一个库,但这仍然需要跨越太平洋。我可以访问 Could front,它有一些忽略查询参数的配置,但是需要事先知道参数的值....等等。

..我卡住了。请帮忙。

您可以使用散列:

https://www.mypage.com#123456789

哈希不会传输到服务器并保留在浏览器端。 你可以用 JS 阅读它:

window.location.hash