HTTP/2 プロトコルについて学んでいます。これは、メッセージ フレームが小さいバイナリ プロトコルです。これにより、単一の TCP 接続でストリームの多重化が可能になります。概念的には、WebSocket と非常によく似ています。
WebSocket を廃止し、ある種のヘッダーレス HTTP/2 リクエストとサーバー起動のプッシュ メッセージに置き換える計画はありますか? または、WebSocket は HTTP/2 を補完しますか?
答えはノーだ。両者の目的は大きく異なります。単一の HTTP/2 TCP パイプを介して複数の WebSocket 接続を確立できるようにする HTTP/2 を介した WebSocket の RFC もあります。
WS over HTTP/2 は、新しい接続を開く時間を短縮し、ソケット、ソフト IRQ、およびバッファーを増やすことなく、より多くの通信チャネルを使用できるようにすることで、リソースを節約します。
https://datatracker.ietf.org/doc/html/draft-hirano-httpbis-websocket-over-http2-01
2020 年 4 月の時点では、HTTP/2 によって WebSocket が廃止されることはありません。HTTP2 に対する WebSocket の最大の利点は、
HTTP/2 works only on Browser Level not Application Level
HTTP/2 は WebSockets のような JS API を提供しないことを意味し、アプリケーション (例: Web サイト) から直接サーバーに何らかの JSON またはその他のデータを通信および転送できます。したがって、私が信じる限り、HTTP/2 が WebSocket のような API をサーバーと通信するために提供し始めた場合にのみ、WebSocket は時代遅れになります。それまでは、HTTP 1.1 の更新されたばかりのより高速なバージョンです。