【问题标题】:Benefit of Output Caching Compared to Caching by Browser输出缓存与浏览器缓存相比的优势
【发布时间】:2012-03-12 10:50:45
【问题描述】:

IIS 具有在 asp.net 站点上设置“输出缓存”的功能。我想知道与我们的浏览器完成的缓存相比,这种类型的缓存有什么好处。 我想知道,如果我们的浏览器有能力缓存内容(例如 js/css/image),为什么 .net 会实现输出缓存等功能?

【问题讨论】:

  • 因为 Web 请求将具有控制标头。并且输出缓存将注入类似“Cache-Control: private, max-age=31536000”

标签: asp.net http caching output-caching


【解决方案1】:

想象一个需要大量服务器端资源来创建的页面——可能是数据库调用、繁重的计算等等。

如果一个用户请求该页面,并且该页面被浏览器缓存,那么下次该用户请求同一页面时,该页面已经在他们的计算机上——因此它不必由服务器生成或再次通过网络传输。

接下来,假设第二个用户请求相同的页面。页面副本被第一个用户的浏览器缓存的事实并没有帮助。如果没有输出缓存,服务器将需要重新执行那些耗时的操作来生成页面。

如果页面使用了输出缓存,那么第一次创建的结果将存储在服务器的内存中,因此可以发送缓存的结果以响应后续请求——这节省了时间和服务器端资源。

【讨论】:

    【解决方案2】:

    为多个用户考虑它,比如 100 个。

    如果没有输出缓存,IIS 将不得不为每个用户请求处理和生成页面,因此页面被处理 100 次。

    使用输出缓存 IIS 必须处理一次页面(对于第一个请求它的用户),然后缓存它并为其他 99 个用户返回相同的版本。

    【讨论】:

      猜你喜欢
      • 2021-12-06
      • 2010-09-30
      • 2014-05-22
      • 2011-05-12
      • 1970-01-01
      • 1970-01-01
      • 2018-04-20
      • 2016-03-30
      • 2012-06-24
      相关资源
      最近更新 更多