まず通信の形として、HTTP通信というものがある。
これはクライアント(ユーザー、ブラウザなど)からの要求(リクエスト)にサーバが応答(レスポンス)を返すという形でしか通信できない。
問題点
HTTPはクライアント(ブラウザ)からリクエストしてサーバからレスポンスが返る一問一答型のプロトコルなので、基本的にはサーバ側からクライアント側に新着情報をリアルタイムで通知(プッシュ)できるようには出来ていない。
サーバー側からクライアント側に新着情報をリアルタイムで通知する方法
ちなみに
SSEははあくまでも サーバ -> クライアント(一方向) のデータのプッシュのみをサポートしている。
それに対して、Websockets では サーバ <-> クライアント間での双方向のリアルタイム通信が可能である。
プッシュの歴史リンク