2016-03-19 7 views
0

Wenn ich meine Website-Leistung teste, merke ich, dass SSL-Handshakes im Rahmen des Verbindungsaufbaus stattfinden. Ich verstehe, dass die erste Anfrage (der Seite) den vollständigen SSL-Handshake benötigt.SSL-Handshake beim Verbindungsaufbau

Aber, wenn Sie aus dem Pingdom-Test feststellen, nur bestimmte andere Ressourcen tun den SSL-Handshake. Die restlichen Anforderungen auf der Seite nicht.

Kann jemand bitte die Logik dahinter erklären.

enter image description here

Antwort

0

Ressourcen, die über HTTPS geladen werden, werden ihre eigenen SSL-Handshake, wenn neue TCP-Verbindungen verwendet werden, um sie zurückzuholen. Wenn HTTP-Keep-Alives verwendet werden, können Ressourcen auf demselben Server mithilfe vorhandener Verbindungen abgerufen werden. Ressourcen, die über HTTP anstatt über HTTPS abgerufen werden oder sich auf verschiedenen Servern/Domänen befinden, müssen separate Verbindungen verwenden.

Ihre Testergebnisse sind ziemlich nutzlos dies für die Diagnose, ohne zu wissen, welche Ressourcen abgerufen werden, wo sie abgerufen werden, und welches Protokoll sie abgerufen werden.

+0

Alle Ressourcen verweisen auf dieselbe Domäne. Es ist vollständig SSL (https). Und der Server ist node.js – user3658423

+0

Diese Faktoren beseitigen nicht die Möglichkeit, dass separate TCP-Verbindungen und damit separate SSL-Handshakes verwendet werden, um sie abzurufen. Selbst bei HTTP-Keep-Alives, HTTP-Pipelining usw., wenn die Seite viele Ressourcen lädt, müssen möglicherweise mehrere Verbindungen verwendet werden. Ohne den eigentlichen HTML-Code zu sehen, gibt es für niemanden hier die Möglichkeit, Ihnen zu sagen, was tatsächlich passiert. –

+0

OK, aber warum sollten andere Ressourcen nicht einmal einen abgekürzten SSL-Handshake machen? (Mein Server unterstützt die Fortsetzung der SSL-Sitzung.) Ist es nicht wahr, dass jede Anfrage einen SSL-Handshake hat? – user3658423

Verwandte Themen