如何确保缓存静态内容(图像,css,javascript)?什么是最好的方法?
答案 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离线网络应用程序清单。它允许您设置清单,您可以在其中定义将在本地缓存的文件。
通过广泛实施,避免了解IIS
和HTML
缓存是一种很好的,清晰易懂的方法。
http://www.w3schools.com/html/html5_app_cache.asp
(你应该完全阅读这些内容)