Javascript 跨域:缓存清单本身

Javascript 跨域:缓存清单本身,javascript,caching,browser-cache,Javascript,Caching,Browser Cache,我最近开始构建一个在移动设备上完全离线运行的web应用程序 我们的成立是这样的: CMS和API从域a上的EC2服务器上运行 将资产发布到域B上的S3存储桶中 web应用程序托管在域C上的S3静态网站bucket上 我无法跨域缓存清单本身(因为它是一个动态文件,其位置无法更改) 如何在不更改cache.manifest文件位置的情况下缓存文件?W3C跨域允许使用清单: manifest src和default src指令控制用户代理可以从中获取清单的来源。与其他指令一样,默认情况下manif

我最近开始构建一个在移动设备上完全离线运行的web应用程序

我们的成立是这样的:

  • CMS和API从域a上的EC2服务器上运行
  • 将资产发布到域B上的S3存储桶中
  • web应用程序托管在域C上的S3静态网站bucket上
我无法跨域缓存清单本身(因为它是一个动态文件,其位置无法更改)

如何在不更改cache.manifest文件位置的情况下缓存文件?

W3C跨域允许使用清单:

manifest src和default src指令控制用户代理可以从中获取清单的来源。与其他指令一样,默认情况下manifest src指令为*,这意味着用户代理可以在[CORS]允许的情况下跨域获取清单。希望为各种web应用程序托管清单的远程源(例如CDN)需要在其HTTP响应中包含适当的[CORS]响应头(例如,访问控制允许源:)

您可以检查清单中是否存在
Access Control Allow Origin
响应头。例如:

HTTP/1.1 200 OK
[...]
Access-Control-Allow-Origin: http://example.com
[...]

它说的是清单文件中的跨域资产文件,而不是清单文件的跨域,这是我在W3C上能找到的最好的参考。您能否共享
manifest.json
的响应头?如果您没有看到我提到的标题,CORS可以在S3上。我的意思是我的cache.manifest文件在服务器A上,我的html页面在服务器C上。我使用EC2上的哪个服务器获取清单文件?我会在谷歌上搜索“CORS”,并为
manifest.json
添加CORS头。我没有在任何地方使用manifest.json。服务器名称只是一个例子