Help us understand the problem. What is going on with this article?

HTTP PollingとWebSocket、それぞれのざっくりとした違い

HTTP Polling

  • 新着データの要求(Requset)に対し、データが存在した場合はすぐに応答(Response)を返しコネクションを切断する
  • 新着データの要求に対し、データが存在しない場合もコネクションを切断する
  • そのため、サーバーに対して定期的に要求(Request)を行う必要がある
  • サーバー側からクライアントに直接送信することができない

HTTP Long Polling

  • 新着データの要求に対し、データが存在した場合にすぐに応答を返しコネクションを切断する
  • 新着データの要求に対し、データが存在しない場合はサーバーとクライアント間のコネクションを維持したままとなる
  • サーバー側で新着データを用意できたら応答を返しコネクションを切断する。その間、コネクションは維持されたまま
  • 上記の定期的に要求を行うHTTP Pollingと比較すると、遅延が少ない
  • コネクションを維持した状態で一定時間経過した場合には、切断し、再度要求を送り直す

WebSocket

  • 新着データの要求に対し、データが存在した場合にすぐに応答を返すが、コネクションは切断せず維持したままとなる
  • 新着データの要求に対し、データが存在しない場合も、サーバーとクライアント間のコネクションを維持したままとなる
  • サーバー側で新着データを用意できたら応答を返し、コネクションを維持し続ける
  • 上記2つと比較すると、最初から最後まで繋ぎっぱなしで要求と応答を繰り返すことができる

参考になったページ

WebSocketのキホン(SlideShare)
HTTP Long Pollingとは(Qiita)
リアルタイムなwebアプリを実現する方法(ポーリング、Comet、Server Sent Events、WebSocket)(Qiita)
Push技術(Wikipedia)

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした