我的网站在ASP.NET平台上运行,最近我在pingdom上测试了我的网站,我发现了以下错误。
带有“?”的资源URL中的某些代理缓存没有缓存 服务器。删除查询字符串并将参数编码为 以下资源的URL: https://projectsdeal.co.uk/ScriptResource.axd?d ...... 63Nawdr4rAt1lvT7c_zyBEkV9INg0& T公司= ffffffffe3663df5 https://projectsdeal.co.uk/ScriptResource.axd?d ...... JGTlZFM0WRegQM9wdaZV3fQWMKwg2& T公司= ffffffffe3663df5
答案 0 :(得分:3)
简单保持原样(它不是错误!) - 你不能从资源中删除这个查询字符串,因为这是关于如何从asp.net加载该资源的id
您获得的消息实际上是代理缓存服务器 - 什么是代理缓存服务器?一台缓存您网站页面的中间计算机,而不是实际的客户端计算机 - 可以保存在该页面的缓存中,而不会使您的网站速度变慢。
所以你的客户端可以在缓存中保存该资源如果你正确设置它们,并且从我看到的asp.net正确处理并且你的资源缓存得很好 - 请看这个屏幕截图。 / p>
现在,如果您希望添加更具侵略性的缓存,可以使用global.asax并执行类似
的操作protected void Application_BeginRequest(Object sender, EventArgs e)
{
string cTheFile = HttpContext.Current.Request.Path;
if (cTheFile.EndsWith("WebResource.axd", StringComparison.InvariantCultureIgnoreCase))
{
JustSetSomeCache(app);
}
}
private static void JustSetSomeCache(HttpApplication app)
{
app.Response.Cache.AppendCacheExtension("post-check=900, pre-check=3600");
app.Response.Cache.SetExpires(DateTime.UtcNow.AddHours(32));
app.Response.Cache.SetMaxAge(new TimeSpan(32, 0, 0));
app.Response.Cache.SetCacheability(HttpCacheability.Public);
app.Response.AppendHeader("Vary", "Accept-Encoding");
}
有什么不同?第二个缓存不是像asp.net那样检查服务器的文件更改,你可以获得一个网络服务器调用。