首页 > 解决方案 > Azure - 用于 Web 应用程序的 js、css 文件的浏览器缓存设置

问题描述

Azure Windows Web App,在阿姆斯特丹、美国和香港有实例。

需要针对浏览器缓存文件进行优化——这样一旦用户访问了应用程序中的页面并下载了任何 js、css、字体或图像——浏览器就会在本地缓存这些文件。

然后 - 仅当更新缓存文件时 - 然后它会破坏浏览器缓存并执行 https 调用以获取更新的文件版本。

从用户浏览器的角度来看,从而最大限度地减少延迟、带宽和 http 请求数。

通常有 90-96 PageSpeed 分数-因此页面已优化-但似乎比可能的速度要慢,可能是因为这些不变的 js、css、字体和图像文件可能会不必要地重新下载?

在会话期间访问一次页面后,在会话的其余部分中它会很快被访问。

但是 - 第二天登录时,每个页面的第一次渲染再次出现延迟 - 然后它再次变得非常快。

有点像 TTL 到期设置或类似老式 IIS ETag HTTP 响应标头类型的东西?

ASP.NET C# 4.7 Windows Web 应用程序

任何天才都知道如何针对这种事情进行优化?

标签: azurecaching

解决方案


这不是缓存问题,更有可能是由于空闲时间过长而导致您的应用程序卸载。

要克服这个问题,您需要确保您的应用服务计划是 S1(标准)或更高版本,并为您的站点启用“始终在线”选项。去做这个:

Azure 门户 -> 您的 Web 应用程序 -> 应用程序设置 -> 始终开启 -> 已启用

如果应用服务计划当前处于免费或共享层,您可以在不停机的情况下扩展您的应用服务计划:

Azure 门户 -> 应用服务计划 -> 扩展


推荐阅读