http2 - HTTP/2 推送 JSON 有效负载

标签 http2 server-push

http/2 服务端推送的最大用例是先发制人地将 Assets 文件(例如 javascript 和 css 文件)推送到浏览器。我想知道可以使用 http/2 服务器推送将动态有效负载(例如 JSON 文档)发送到客户端应用程序吗?来自 http2-spec ,它没有提到任何关于此的内容。任何人都可以详细说明这一点吗?为什么或者为什么不?

最佳答案

HTTP/2 并不打算替代 websockets,因为您发出请求(例如网页)并且可能会返回多个资源(例如网页、显示网页所需的 CSS、运行该网页所需的 JavaScript。 .. 等等。)。

因此 HTTP/2 并不是真正的双向,因为它仍然响应初始请求。

因此,如果您打算发送 JSON 请求以响应初始请求,那很好——它只是另一种与 CSS 和 javascript 非常相似的资源。

但是,如果您打算保持 channel 打开以不断发送更多 JSON 有效负载以保持您的页面最新,那么这不是 HTTP/2 的目的。这就是 websockets 的用途。

这个问题有一些关于 HTTP/2 与 websockets 的更多细节:Does HTTP/2 make websockets obsolete?

关于http2 - HTTP/2 推送 JSON 有效负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37954681/

相关文章:

websocket - 负载平衡 websocket

node.js - 为什么 WebSocket 实现在传输多个文件时比 HTTP/2 Push 慢? (Node.js/围棋)

server-sent-events - 跨浏览器服务器发送的事件,或替代方案,包括 Microsoft 浏览器

http - 服务器发起的请求

php - 如何在 PHP 中发送 HTTP/2 POST 请求

nginx - 如何阻止 nginx 提供 http/2 服务?

java - Spring:如何在 Spring 项目中将 Polymer Push-manifest.json 与 HTTP2 Server Push 结合使用

mysql - mysql数据库有更新时如何实现服务器推送?

Java HTTP/2 服务器套接字

http2 - 我可以通过 STDIN/STDOUT 说 HTTP/2 吗?