代码之家  ›  专栏  ›  技术社区  ›  ctford

输出缓存是否尊重响应头?

  •  0
  • ctford  · 技术社区  · 15 年前

    我正在考虑使用ASP.NET输出缓存来提高自定义HTTP处理程序的性能。

    如果我在响应中设置了一个expiry头,那么输出缓存是否足够智能,可以相应地缓存响应?还是需要手动创建适当的CacheDependency?

    1 回复  |  直到 15 年前
        1
  •  0
  •   ctford    14 年前

    可以将输出缓存设置为相对于缓存内容 接受标题 . 从…起 this walkthrough on IIS 7.0 caching :

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
      <system.webServer>
        <directoryBrowse enabled="true" />
            <caching>
                <profiles>
                    <add extension=".jpg" policy="CacheForTimePeriod"
                    duration="00:00:10" varyByHeaders="Accept-Language" />
                </profiles>
            </caching>                  
      </system.webServer>
    </configuration>
    

    使用此配置,输出缓存将为用户代理请求的每种语言缓存不同的值。您可以将“接受编码”添加到varybyHeader中,以缓存同一资源的gzip版本和非gzip版本。

    至于到期头,据我所知,输出缓存没有注意到它们。您必须分别设置输出缓存到期和到期HTTP头-毕竟,不能保证您希望对这两个使用相同的策略。