【发布时间】:2015-06-19 04:49:57
【问题描述】:
我们自主研发的 CMS 会创建日历提要,其中包含青年运动队单个赛季的赛程。我们为最终用户提供 URL 以在他们的设备上(或在他们的软件程序中)使用 feed,每年有成千上万的人这样做。
问题在于,对于大多数程序和设备而言,添加日历订阅的 UI 相对较好,但在不再需要时删除这些提要 - 并没有那么多。
对我们来说,这造成了超过 90% 的对我们服务器的日历提要请求来自日程安排早已完成的团队。
最初,我们尝试只为非当前团队返回一个空提要,但这并没有阻止设备首先发出请求(这会占用我们服务器上的资源)。它根本不足以(或根本不)激励最终用户做某事。
因此,在过去几年中,我们改为返回一个从上个月到下个月的单个事件,标题为“请删除此过时的 Feed”,甚至提供了一些操作说明。这有点帮助,但还不够。
最近我们了解到可以将提醒附加到日历提要中,因此为了尝试激发用户采取行动,我们还决定将提醒附加到单个“过时”事件;每隔 3 小时重复两次的警报。这更有效,但对最终用户来说非常烦人。
那么,问题来了。 我们可以在服务器上做些什么,当设备发出请求时,响应会向设备表明该提要不再可用并且设备应该停止请求它?我们尝试过的其他一些事情包括:
- 返回各种 HTTP 状态代码(302、301、500 等)
- 在 Feed 上设置很长的 TTL
这些似乎都没有任何效果。似乎应该有一种方法可以返回带有 HTTP 状态代码 410“Gone”的空响应,并且设备/程序应该知道该怎么做。任何/所有建议都表示赞赏!
【问题讨论】:
标签: android ios calendar icalendar webcal