web-dev-qa-db-ja.com

AJAXまたはクライアント/サーバー通信用のWebソケット?

私は最近AngularJSのコースを受講し、率直に言って、後続のリクエストを処理するためにjsonをフェッチするWebサイトの概念が大好きでしたが、それでもJavascriptはサーバーでやりたいことには遅すぎるように感じます。

私は最近、オンラインオークションのウェブサイトを構築するために雇われました。 2つのモックアップを作成しました。1つはAngularJSで、もう1つはPHPで作成しました。 PHP Webサイトは、初期ロードと大きなリクエストの処理ではるかに高速ですが、AngularJSを利用したサイトは同時リクエストではるかに応答性が高く、JavaScriptとHTMLフロントエンドの記述がはるかに簡単なので、 PHP、JS、HTMLを使用してAngularJSに対応するものを作成し、両方の長所を生かすことができるのではないかと考えました。デザインの実装を進めるにつれ、AJAX =はこの仕事に適したツールでした。クライアント側のJSとPHPの間の仲介として、単純なnode.js Webソケットサーバーを使用し、クライアントからWebソケットを介してサーバーにコマンドを渡し、データを渡すことができたようです。バック。

この時期尚早な最適化を検討しますか?そうでない場合、HTTPオーバーヘッドを削除すると、帯域幅と要求サイズの点でまったく大きな違いが生じますか?

1
r3wt

典型的な要求/応答クライアント/サーバー通信が必要な場合は、ajaxを使用してください。

双方向通信が必要な場合、たとえばサーバーからクライアントに更新を送信する場合は、Webソケットを使用します。

「クライアント側のJSとPHPの間の仲介として、単純なnode.js WebSocketサーバーを使用し、クライアントからWebSocketを介してサーバーにコマンドを渡し、データを返すことができるようです。」

そのようなことをする意味がわかりません。アプリケーションのサーバー側でwebsocket使用ノードを使用する場合、なぜnode.jsを「websocketプロキシ」としてのみ使用し、サーバー側の操作にphpを使用するのですか?この複雑さの正当化は何ですか?

1
AlfredoCasado