2017-08-25 7 views

答えて

2

私はプリフェッチハンドシェイクがあるのではないかと疑い、それは意味をなさないと思う。 DNSプリフェッチはページ内のリンクに対して行われ、ユーザーがリンクをクリックすると、ブラウザはターゲットホストのIPアドレスをすでに知っています。これは、ページをロードした直後、数分後、数時間後、または決してではありません。 DNSプリフェッチは、サーバー上のリソースも結び付けません。アップストリームのDNSリゾルバにレコードを既に持っているか、クエリを解決してキャッシュ内にエントリを持っているかを尋ねることによって、ローカルのDNSキャッシュをウォームアップするだけで、他のクライアントにも利用できます。

これとは対照的に、HTTPSのプリフェッチハンドシェイクでは、ターゲットサーバに直接TCP接続を作成し、SSLハンドシェイクを行い、クライアントがクリックするのを待つ必要があります。これは、クライアントとサーバーでリソースを結びつけるので、しばらくするとサーバーは接続を閉じてこれらのリソースを解放します。したがって、多くの場合、リンクは決してクリックされないか、またはサーバがアイドル状態の接続を既に閉じた後にのみクリックされるため、これは双方のリソースを無駄にするだけです。

あるサイトからページを読み込むときに同じサイトのリンクのように、既存の接続を持つサイトを指す場合は、状況が少し異なります。今日のブラウザでは、永続的なHTTP接続が使用され、より多くのリクエストを送信する必要がある場合に備えて、サイトへの接続をしばらく開いたままにしています。ユーザーが同じサイトのリンクをクリックすると、以前の要求からまだ開いていた既存の接続が使用される可能性があります。もちろん、これらの接続はサーバ上のリソースも結びつけているので、サーバはあるアイドル時間の後にも接続を終了します。

関連する問題