"ResponseCache attribute"和"ResponseCache middleware" asp.net 核心有什么不同?



我知道ResponseCache attribute可以通过http标头属性cache-control在客户端缓存页面。

ResponseCache middleware,它在服务器上缓存页面(与ResponseCache attribute相同的http标头(。

我比较这些,似乎没有什么不同,相同的功能,相同的条件。

服务器端缓存与ResponseCache attribute没有什么不同,它们都不让请求进入控制器操作,或者这些有不同的请求管道?

那么,什么样的场景会选择ResponseCache middleware/ResponseCache attribute

从文档和源代码中,我们可以找到:

响应缓存中间件

确定何时可缓存响应、存储响应以及从缓存提供响应。

响应缓存属性指定在响应缓存中设置适当的标头所需的参数。

它用于配置和创建(通过IFilterFactory(ResponseCacheFilter。响应缓存筛选器执行更新响应的相应 HTTP 标头和功能的工作。过滤器:

  • 删除 Vary、Cache-Control 和 Pragma 的任何现有标头。

  • 根据 ResponseCacheAttribute 中设置的属性写出相应的标头。

  • 更新响应缓存 HTTP 功能(如果设置了 VaryByQueryKeys(。

欲了解更多信息,请查看:

  • 响应缓存中间件源 法典

  • 响应缓存属性源代码

相关内容

  • 没有找到相关文章

最新更新