タグ

httpとwebsocketに関するthree_beeのブックマーク (2)

  • サーバからクライアントに送信する技術 - WebSocketを中心に - Qiita

    Webでのプッシュ技術 HTTPはクライアント(ブラウザ)からリクエストしてサーバからレスポンスが返る一問一答型のプロトコルなので、基的にはサーバ側からブラウザに新着情報をリアルタイムで通知(プッシュ)できるようにはできていません。 しかしそれでもプッシュをしたいという場合にどうするかという話が出てきます。やり方には以下のようなものがあります。 ポーリング クライアントからサーバに定期的に新着を問い合わせるようにします。 最も原始的かつ確実なやり方。欠点は、最大でポーリング間隔の分だけ通知が遅延しうることです。 ロングポーリング(“COMET”) ポーリングなのですが、問い合わせを受けたサーバは新着情報がなければレスポンスを返すのをしばらく保留します。 そのあいだに新着情報が発生すれば即座にレスポンスを返しますし、一定時間経過したら何もなかったとレスポンスを返しましょう。 飛び交う通信内

    サーバからクライアントに送信する技術 - WebSocketを中心に - Qiita
  • nginxをWebSocketのリバースプロキシとして使う - the glue

    経緯 WebSocketを使ったアプリケーションを作ったが、ポートが80しか使えない nginxでどっちも80に流したい ポイント / はまり所 WebSocketのプロキシにはUpgradeヘッダ(HTTP 1.1)への対応が必要 Upgradeヘッダへの対応は nginx v1.3.13以降 参考: WebSocket proxying 厳しい条件から先に書く デフォルトだと30秒通信がないと切断される(!) nginxでリバースプロキシしているときだけ一定時間で接続が切れるので何かと思えば、 普通のHTTPの通信と同様に30秒(だったはず)通信がなかった場合はタイムアウトってことで自動でコネクションを切ってくれていたみたい。 ping/pongを30s以内にやればいいんだろうけど、とりあえず5分に設定。 config server { listen *:80 default_serv

    nginxをWebSocketのリバースプロキシとして使う - the glue
  • 1