使用什么 HTTP 响应代码向客户端发出新版本可用的信号?

问题描述 投票:0回答:1

我管理的应用程序具有不规则的更新计划,需要实时修复并处理实时数据。我想通知客户(目前只是网络客户),如果他们碰巧长时间打开浏览器窗口(我们的客户经常发生这种情况)并错过更新,则需要新版本。我建议的解决方案是在每次调用服务器的标头中包含客户端的版本,如果服务器识别出版本标头不同步,它将返回一个状态代码,该状态代码将触发通知用户刷新该应用程序。该应用程序是一个有角度的 SPA,因此需要这样做,因为它可以永久保留在应用程序内部,而无需再次调用索引页面。最适合用于此目的的状态代码是什么?另一种选择是使用轮询系统来检查版本,但由于应用程序是实时的,因此尝试限制异步任务。

目前网站页面缓存并使用电子标签来识别页面是否发生更改。只要用户实际对 index.html 页面发出新请求,这种情况就可以正常工作,但这种情况并不总是发生。

http-headers browser-cache http-status-codes page-refresh
1个回答
0
投票

HTTP 状态代码告诉客户端有关正在请求的资源的信息。他们不会告诉客户有关“不同”资源的信息。 我会考虑扭转你提出的方法。使用类似于

ExampleDotCom-API-Version: 2023.08.31

ExampleDotCom-Min-Client-Version: 2023.08.31
的自定义响应标头,并让客户端检查该标头以查看它是否支持该版本的 API(如果不支持,则检查客户端的更新)。
    

© www.soinside.com 2019 - 2024. All rights reserved.