【发布时间】:2012-03-30 14:42:01
【问题描述】:
如何确保缓存静态内容(图像、css、javascript)?最好的方法是什么?
【问题讨论】:
标签: asp.net iis caching browser-cache
如何确保缓存静态内容(图像、css、javascript)?最好的方法是什么?
【问题讨论】:
标签: asp.net iis caching browser-cache
您还可以使用 HTML5 Offline Web 应用程序清单。它允许您设置一个清单,您可以在其中定义哪些文件将在本地缓存。
这是一种很好的、清晰易懂的广泛实施方式,无需了解 IIS 和 HTML 缓存。
http://www.w3schools.com/html/html5_app_cache.asp
(你应该完全阅读这些东西)
【讨论】:
建议您通过 this tutorial 了解缓存在 Web (HTTP) 上的一般情况。
简单地说,Web 服务器需要在向客户端发送内容时生成适当的 HTTP 标头,以控制客户端缓存。在 ASP.NET/IIS 环境中,其 IIS 通常处理静态文件内容,因此,您必须适当配置 IIS 以根据需要控制缓存静态文件。有关为静态内容配置 IIS 缓存的更多信息,请参阅以下链接:
http://www.iis.net/ConfigReference/system.webServer/staticContent/clientCache
How to configure static content cache per folder and extension in IIS7?
编辑:正如您所问的最佳方法,我现在看到的最流行的方法是版本静态内容(例如通过在文件或 URL 的末尾附加一些版本标识符) .版本化后,您可以将其视为不可变的,然后发出缓存标头以无限期缓存它。在 ASP.NET 应用程序中,您可能可以将程序集版本(或产品版本)附加到每个静态内容 URL。因此,本质上,您将使每个构建(或每个产品发布)的缓存无效。
【讨论】: