如何确保静态内容缓存在客户端?

时间:2012-03-14 06:19:13

标签: asp.net iis caching browser-cache

如何确保缓存静态内容(图像,css,javascript)?什么是最好的方法?

2 个答案:

答案 0 :(得分:13)

建议您通过this tutorial了解一般情况下如何在网络(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。基本上,您将使每个构建(或每个产品版本)的缓存无效。

答案 1 :(得分:0)

您还可以使用HTML5离线网络应用程序清单。它允许您设置清单,您可以在其中定义将在本地缓存的文件。

通过广泛实施,避免了解IISHTML缓存是一种很好的,清晰易懂的方法。

http://www.w3schools.com/html/html5_app_cache.asp

(你应该完全阅读这些内容)