この質問は本当にこの質問と似ています:What is the difference between web sockets, long polling, server-sent events and forever frame?Forever-frameイベントとサーバー送信イベントの違いは何ですか?
しかし、この質問の答えは、SSEと永遠フレームの違いは言及していません。
それらについて簡単に説明しましょう。
SSEに関しては、システムは実際にはCometと似ていますが、Cometと異なる点はデータの送信後に接続を切断していません。 したがって、サーバーからクライアントへの接続は長生きであり、クライアントはデータ全体の一連の断片を受信します。
一方、永遠のフレームは私と非常に似ているようです。永遠のフレームでは、最初にクライアントはiframeタグを含むページを受け取り、隠されたiframeの内部で長寿命の接続を確立します。そして、クライアントはサーバーからチャンクされたデータを受け取り、クライアントが既に持っている最初の文書のいくつかの関数を使ってDOMを操作します。
Forever-frameはiframeタグを使用していますが、SSEは使用できず、さらに多くの方法でSSEを実現できます。 私はそうですか?
これらの技術の概要をありがとうございます。しかし、いくつかの点でまだ明確ではありません。 1:ロングポーリングとXHRポーリングの違いはわかりません。私は「XHRポーリング」という言葉を尋ねましたが、それについての良い情報は見つかりませんでした。あなたが言及したように、違いは、ロングポーリングはXMLHttpRequest1を使用します。ここでXMLポーリングはXMLHttpRequest2ですか? 2:XHRポーリングでは、どちら側から送信されたreadyState信号ですか?サーバー側から?またはクライアント? 3:「自動再接続」とはどういう意味ですか?それは、データを送信した後、接続が一度中断するのでしょうか? –
@ KazuyaTomita私の本を買うことを提案するにはあまりにも賢明ですか?これらの話題を徹底的にカバーするには十分なスペースがあります:-) 通常のロングポーリングと「xhr」とは、readyState == 4、後者はreadyState == 3を使用します。 readyStateは、クライアント側のJavaScript XMLHttpRequest2 APIの一部です。 –
したがって、あなたの追加のコメントに従ってXMLHttpRequest2を使用するため、長いポーリングとXHRポーリングの説明についての説明は間違っていますか?それが大丈夫なら質問3について簡単に説明してください。 –