我想在我的网站上添加一个ics链接。用户将能够将此url添加到他们最喜欢的日历应用程序中,并查看他们即将到来的活动。
我的用户使用我的网站几个月,然后离开(这是一个教育网站)。所以我的问题是:
有没有办法(也许在ics协议中?)自动取消我的用户从我的ics url的订阅,以避免不必要的请求“生活”?
例如,Mac上的iCal会每小时向url发出一次请求,以获取新数据。但是一旦用户离开,就永远不会有新的数据,所以请求是无用的。
谢谢你的帮忙!
发布于 2020-03-11 08:22:50
你可以要求人们取消订阅,或者通过一个虚拟的每日事件让它变得令人满意,上面写着‘不再更新,请取消订阅’
或
通过向请求系统返回适当的http返回码来强制取消订阅-可能是410 (消失)而不是404。根据它的描述,410是最合适的:“url不再存在,这种情况很可能是永久性的。”https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/410
可以为每个用户提供url。确保它在生命周期结束时返回410 (而不仅仅是一个空文件)
接收设备并不只是悄悄地取消订阅url。通常他们会显示错误。理想情况下,人类应该取消订阅。也许一封关于如何取消订阅的快速提示的电子邮件可能是最适合你的情况?至少你已经告诉他们了。
我发现,即使是我自己,我的日历应用程序中也有很多垃圾日历urls。如果我开始收到错误,我会取消订阅它们(或者如果有垃圾事件,我可能会取消订阅或“隐藏”它。
向发出请求的应用程序传送信息的其他方式,可以减少服务器上的负载:
在标题https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Last-Modified https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After中最后一次修改(No 'never'!)
还有一些非官方的(非RFC5545)扩展,可以包含在ics文件中:例如: X-PUBLISHED-TTL -订阅日历的推荐更新间隔。这可能会是一个很长的间隔。请参阅https://en.wikipedia.org/wiki/ICalendar#Calendar_extensions
https://stackoverflow.com/questions/60505539
复制相似问题