首先给个结论,虽然两个推送都是由服务端主动发起,但是!使用的场景的用法都完全不同。
http2与websocket比较
| HTTP/2 | WebSocket | |
|---|---|---|
| Headers | Compressed (HPACK) 请求头部压缩 | None |
| Binary | Yes | Binary or Textual |
| 多路复用 | Yes | Yes |
| 优先级 | Yes | No |
| 压缩 | Yes | Yes |
| 传送方向 | Client/Server + Server Push (Server Push只能浏览器消化,不支持API,也就是代码无法使用) | 双向 |
| 全双工 | Yes | Yes |