【问题标题】:How to automatically refresh the HTTP cache?如何自动刷新 HTTP 缓存?
【发布时间】:2014-03-19 03:44:07
【问题描述】:

我有一个由服务器(IIS 8.5) 生成的asp.net 网页,它根据存储在后端的数据显示一些图表。我手动更新了数据库(批量插入一些数据),并刷新了浏览器,但是页面没有显示新数据。

我认为是缓存问题,因为当我按ctrl + F5 时,会出现新数据。那么我应该如何解决这个问题呢?在网络服务器上做点什么?

【问题讨论】:

    标签: http caching


    【解决方案1】:

    您可以通过ExpiresCache-ControlLast-ModifiedETag 标头控制浏览器缓存。

    看看这些two谷歌开发者pages

    如果您想不惜一切代价禁用缓存,请在您的图片 URL 中包含一个唯一标签,该标签会在每次图片内容更改时更改,例如:

    http://example.test/path/to/image/graph1.png?version=2014-3-19
    

    每次更新图像时,version 都会发生变化。由于它是一个新的 URL,因此保证不会被缓存。但请小心使用此技术,因为在不需要时使用此技术会导致加载时间过长(因为您禁用了图像缓存)。

    【讨论】:

    • 您认为我可以更改 IIS 服务器上的 ETag(不知道 Web 服务器是否允许这样做)?因此,当浏览器将缓存的 ETage 与服务器进行比较时,它会触发 GET。
    • 我不是 ISS 的人,但是是的,这些标头通常是通过 Web 服务器配置设置的。
    猜你喜欢
    • 1970-01-01
    • 2019-07-05
    • 2016-08-31
    • 1970-01-01
    • 2013-06-02
    • 2017-07-21
    • 1970-01-01
    • 1970-01-01
    • 2020-08-11
    相关资源
    最近更新 更多