我可以使用 HTTP2 服务器推送机制来更新已发送的资源吗?

Can I use HTTP2 Server push mechanism to update a resource already sent?

我可以使用 HTTP2 服务器推送机制来更新客户端已知的资源吗?

示例:

我在 https://myserver.org/myresource.json 下有一些资源 returns {"state": "off"}

一旦状态从 "off" 变为 "on",我想将 {"state": "on"} 推送到相同 url 下的客户端(即 https://myserver.org/myresource.json) .

感谢您的支持!

您可以推送它,但它只会更新客户端缓存,不会更改网页中的任何内容。为此,您需要客户端重新获取资源(通过 XHR/fetch),这可能会直接使用缓存中的值。

您可以在此处找到一些示例:https://www.igvita.com/2013/06/12/innovating-with-http-2.0-server-push/ 服务器推送的客户端通知 .

一章中

我个人没有发现太多用处,宁愿直接通过 websockets 或 SSE 发送更新的内容。