【问题标题】:HTTP cache invalidationHTTP 缓存失效
【发布时间】:2015-04-29 06:53:38
【问题描述】:

我有一个包含缓存的休息服务,有时我需要使缓存中的记录无效 - 不是从客户端,而是在服务器端,因为服务器产生了新数据。我怎么做?我只想向服务发送某种 HTTP 消息,它应该使缓存条目无效。它是否应该是带有“Cache-Control”的“Get”,我不需要返回值,而只需在“Get”代码中分支以使条目无效?还是应该是带有空记录的“Put”?最佳做法是什么,其背后的原理是什么?

【问题讨论】:

标签: rest http caching w3c cache-control


【解决方案1】:

当需要缓存无效时,实际上在客户端是不可能的。所以数据只需要缓存在服务器端,如果数据没有变化,可以避免数据传输。

可以做到以下几点: 1. REST HEAD 协议服务于这个目的,所以基本上你可以编写 impl 来返回 REST HEAD 调用中的状态,无论请求的数据是否更改,如果更改,则客户端使用 GET 协议调用。

【讨论】:

    猜你喜欢
    • 2015-09-19
    • 2022-01-23
    • 2018-12-28
    • 1970-01-01
    • 1970-01-01
    • 2015-07-21
    • 2017-09-08
    • 2014-08-03
    • 2017-12-20
    相关资源
    最近更新 更多