22

「 HTTP 永続接続」について読みましたが、どういうわけか、このコンテキストで永続が何を意味するのか理解していないようです。
詳しく教えていただけますか?

4

3 に答える 3

30

これは、サーバーが応答のプッシュの終了後にソケットを閉じないことを意味します (したがって、応答の長さは、ヘッダーまたはチャンクを介して別の方法で指定する必要があります)。そのため、クライアントは同じソケットで他の要求を行うことができます。Web ページは、ページ自体と同じサーバー上で他のいくつかの部分 (画像、CSS、スクリプトなど) を要求することがよくあるため、同じサーバーへのそれらの追加の要求の一部にソケットを再利用すると、元のソケットを開き、後続のすべてのリクエストに対して新しいソケットを開きます。

于 2009-09-26T03:15:54.363 に答える
20

これまでの議論はすべてブラウザ側からのものでした。ブラウザは最初に実際のページを要求し、ページを解析して、そのページをレンダリングする前に必要な他のすべてのリソースを見つけます。ブラウザは、これらのリソースとその他の依存リソースを1つずつ要求します。したがって、接続の作成と破棄のオーバーヘッドが回避されるため、永続的な接続を維持することはここでは非常に効率的です。

Webサーバー側から見ると、永続的な接続とは、コンテンツをWebブラウザーに「プッシュ」できる接続です。現在、HTTPはこれをサポートしていません。そのため、しばらくするとページが基本的に更新されるjavascriptの回避策はほとんどありません。

これは、新しいメールをバックグラウンドで継続的にチェックし続ける多くのWebベースの電子メールプロバイダーによって使用されているトリックであることがわかります。これにより、新着メールが到着すると、サーバーが新着メール通知をWebブラウザに「プッシュ」するように感じられます。しかし実際には、サーバーで新着メールをチェックし続けるWebブラウザです。

また、私が言いたいもう1つのポイントは、リクエストによってページの特定の部分のみを更新できる別のトリックが原因で、実際にはページの更新が表示されないことです。(ヒント:AJAX)

于 2009-09-26T03:47:46.923 に答える