与浏览器缓存相比,输出缓存的好处

时间:2012-02-22 04:46:08

标签: asp.net http caching output-caching

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

2 个答案:

答案 0 :(得分:4)

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

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

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

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

答案 1 :(得分:1)

考虑多个用户,假设为100.

没有输出缓存IIS必须处理并生成每个用户请求的页面,以便页面处理100次。

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