我有一个问题,我似乎无法找到明确的答案,我希望有人可以为我清理它。
使用Rails 3.2资产管道,并通过将config.action_controller.asset_host
设置为"http://foo%d.example.com"
来启用域分片,Rails将始终对HTML文件中包含的每个资产使用相同的主机,或者只选择随机一个?
我担心的是,如果随机选择资产主机,如果用户以前从其他资产主机下载资产,则必须重新下载他们在浏览器缓存中已有的资产。
任何人都可以对此有所了解吗?或者至少清除我对这个主题的任何困惑。谢谢!
答案 0 :(得分:2)
键line是
(host =~ /%d/) ? host % (Zlib.crc32(source) % 4) : host
其中source是资产的完整路径(例如'/assets/application-123456789012345678.css')
因此,任何单个文件都将始终路由到同一主机,因为该数字基于路径的校验和。