【问题标题】:Why should response caching be disabled for authenticated clients为什么要为经过身份验证的客户端禁用响应缓存
【发布时间】:2019-10-30 05:13:58
【问题描述】:

我目前正在开发一个网站,该网站为特定公司的每位员工提供个性化的时间表,该时间表将每五分钟在内部更新一次。打开网站时,您可以使用普通寻呼机查看所有星期。

在某些时候,我注意到用户行为显示,人们在几周之间点击很多次,甚至在几分钟内多次访问(寻呼机的)同一个页面。我认为将这些单独的页面缓存 2.5 分钟是个好主意。

由于这个 Web 应用程序由 ASP.Net Core 提供支持,我访问了 MSDN 关于缓存,其中说明如下:

对包含经过身份验证的客户端信息的内容禁用缓存。仅应为不会根据用户身份或用户是否登录而更改的内容启用缓存。

我知道这只是一个警告,但为什么需要警告呢?除了特定数据可能“过时”这一事实之外,还有什么原因会导致这种情况变得糟糕吗?

【问题讨论】:

  • hmm.. 我建议您使用该文档页面底部的反馈功能提出此讨论和查询。因为,我们不知道该文档的推理是什么 - 不确定。实际上,您不应该提出广泛的、以讨论为导向的投机性和主观性问题(可以提供有效推理或其他方式)。
  • 另外,请注意您使用的标签。这不是c# 相关问题,也不是asp.net-core 问题。你问的是关于在文档站点上缓存的警告有什么好处
  • 本期对此有一些讨论:github.com/aspnet/AspNetCore.Docs/issues/6836
  • @BrettCaswell 我编辑了标签,我忘记在发布前删除它们。
  • @Eilon 感谢您提供的链接,不过我稍后会阅读。

标签: caching


【解决方案1】:

我在@Eilon 的帮助下找到了问题的答案,他将我链接到this GitHub issue。其中提供了一个简单的例子。简而言之,就是不同的经过身份验证的用户可能会获得一个缓存响应,其中包含有关另一个经过身份验证的用户的信息。由于这是可以控制的,有时甚至不重要,所以在MSDN中只是一个警告。

【讨论】:

    猜你喜欢
    • 2020-11-04
    • 1970-01-01
    • 2011-01-10
    • 2012-08-01
    • 2015-06-21
    • 2021-10-26
    • 2016-12-14
    • 1970-01-01
    • 2020-11-15
    相关资源
    最近更新 更多