我希望调查/实施一个 CDN(最初只是通过一个子域,尽管及时转移到 CDN)并且正在寻找有关处理该子域上文件版本的资源。
我以前工作过的大多数地方都实现了资源缓存(图像、javascript、css 等),当想要更改图像时,经历了仅更改图像文件名和更改引用的痛苦过程它在源代码中(以便客户看到新的,而不是缓存的图像)。
我想要达到的目标
我想要的是:resources.domain.com
带有子文件夹,例如:
- 脚本/
- 图片/
- css/
- 等等
没问题,并且将有助于 yslow/页面速度分数(假设无 cookie 域等)
但是资产的版本控制是我想要解决的问题。
例如
resources.domain.com/images/promo_banner1.jpg
我可能必须每 10-15 天缓存和过期一次。
假设我们有一些关键作为业务请求进入,我们需要更改它,我希望能够覆盖它。据我了解,我可以将查询字符串(?1.1)附加到它以强制浏览器将其视为不同的资源。
我知道我可以在 MVC(或实际上是 ASP.NET)中通过创建一个“CompanyResource”html 帮助程序来执行此操作,该帮助程序可能会查找资源文件或类似的东西,以查看我们是否有新版本,如果有,附加版本number 作为查询字符串元素,但必须有更好的方法吗?
那么,社区提出了什么?
- 如何最好地处理子域中的资源(假设我已经阅读了所有关于此的 yslow/google 备份文档)
- 人们想出了什么来处理资产的版本控制(以最小化更新时的整体代码更改)-基于代码的辅助方法来根据某些规则交付资产?
希望我没有胡说八道。
感谢您的任何帮助:)
干杯,特里