27

3つすべての違いは何ですか?彼らはまったく同じことをしているようです。ある方法を他の方法よりも優先する理由と時期は?

4

4 に答える 4

43

AJAX と Websocket は同様のタスクを実行します。どちらもサーバーへの通信チャネルを確立します。Web ワーカーはどちらとも関係がなく、JS 実行の別個のスレッドにすぎません。

AJAX は websocket よりも成熟しています — AJAX はずっと前から存在しており、はるかに幅広いブラウザー サポートを備えています。AJAX はリクエスト指向です。サーバーにリクエストを送信すると、サーバーが応答し、接続が閉じられます。一方、Websocket はサーバーへの永続的な接続を確立し、その接続を介して複数のメッセージを双方向で交換します。

Webworker は、ブラウザ インターフェイスをブロックせずにプロセッサを集中的に使用するタスクを実行する場合に役立ちます。

于 2012-09-28T18:23:21.247 に答える
17

それらは同じではありません。しかし、それらを組み合わせて高度なアプリケーションを構築することができます。

Ajax: 略語として状態は非同期の javascript および xml です。呼び出されたときにサーバーからコンテンツを動的にロードするために使用されます。

Websockets: Websockets は HTML5 で定義された機能です。ウィキペディアが述べているように、「WebSocket は、単一の TCP 接続を介して全二重通信チャネルを提供するプロトコルです。」これは主に、ビデオ通話、ライブチャットなどのリアルタイム通信に使用されます.

WebWorkers : この機能は HTML5 でも定義されています。これは基本的に、Javascript でマルチスレッド機能を実現するために使用されます。javascript はシングル スレッド プログラミング言語であるため、大量の計算タスクを実行するたびに中断または一時停止します。この破損を克服するために、Webworkers が JavaScript に追加されます。

Webworkers 内で Ajax と Websockets を実行できます。ただし、セキュリティ上の理由から、webworkers を使用して DOM を操作することはできません。

于 2014-11-26T12:41:53.007 に答える
15

それらは同じではありません。

Ajax: UI レンダラーから非同期で Web サーバーと対話する方法です。

Web Sockets: HTML5 の機能で、ブラウザーの範囲を拡張する任意のソケット サーバーと対話できます。

Web Workers : Java Script を使用して Web ブラウザーからマルチスレッド プログラミングを行うのに役立つ HTML5 のもう 1 つの機能

于 2012-09-28T18:15:58.293 に答える