it-swarm.com.de

Warum würde meine Site nach dem Wechsel zu https langsamer geladen?

Ich habe ein SSL-Zertifikat auf meiner Website gekauft und implementiert und es scheint viel langsamer als zuvor zu laden.

Warum passiert das und wie kann es behoben werden?

4
Punct Ulica

Dies ist eine Frage, die für diese Plattform möglicherweise zu weit gefasst ist. Die Verschlüsselung ist zwar mit einem erheblichen Rechenaufwand verbunden, kann jedoch bei richtiger Konfiguration vernachlässigbar sein.

Dieses Video ab Mitte 2014 erklärt ziemlich viel über häufige Probleme und Mythen über die Implementierung von TLS und warum es langsam sein kann und warum es nicht sollte.

Mein Vorschlag ist: Richten Sie sich mit dem Befehl Nice top in der Shell ein und fordern Sie Seiten von Ihrem Server an. Beobachten Sie die Aufführung und welche Programme sie verwenden. Sie können auch Tools wie Firebug (für Mozilla Firefox) installieren und die Anforderungen überprüfen, die von einem Client ausgeführt werden, der eine Verbindung zu Ihrem Server herstellt.

Es könnte auch ein Problem des Shared Hosting sein, wenn dies der Fall ist. In diesem Fall liegt das Problem möglicherweise außerhalb Ihrer Reichweite.

4
0xCAFEBABE

Das Verschlüsseln aller Daten verursacht einen geringen Rechenaufwand. Auf einem anständigen Server ist dies jedoch kein Problem.

Was an TLS wirklich ärgerlich ist, ist, dass die erstmalige Verbindung sehr lange dauert. Möglicherweise ist das Senden einer Anfrage so einfach wie das Senden eines einzelnen Pakets an den Server und das Warten auf die Antwort. Dies ist jedoch nicht der Fall:

  1. Zuerst muss der Client eine TCP Verbindung zum Server herstellen (dies gilt auch für normales http), dann erhält der Client eine Antwort vom Server, die angibt, dass die Verbindung akzeptiert wurde. 1 Roundtrip (Senden eines Pakets an den Server und Warten auf eine Antwort.)

  2. Dann muss der Client mit dem Server kommunizieren, um sichere TLS-Verbindungen herzustellen. Dazu müssen viel mehr kleine Pakete hin und her gesendet werden. Der TLS-Handshake ist länger als der TCP -Handshake: 2 Hin- und Rückflüge und ein wenig Zählen.

  3. Über die TLS-Verbindung sendet der Client die Anfrage an den Server und erhält eine Antwort. 1 Roundtrip + Generieren der HTTP-Antwort, was eine Weile dauern kann.


Das Herstellen der anfänglichen Verbindung für HTTPS hat doppelt so viele Roundtrips wie bei normalem HTTP und viel mehr Verarbeitungsaufwand auf dem Server.

  • Durch die hohe Belastung des Servers werden die erhöhten Berechnungen langsamer.

  • Clients, die sich weit vom Server entfernt befinden, leiden unter der Ping-Zeit. Für jede Hin- und Rückfahrt wird eine Ping-Zeit benötigt. Normales HTTP benötigt nur 2 Pings, während HTTPS 4 Pings benötigt.


Und nur um die Sache noch schlimmer zu machen, wenn ein Besucher Ihren Domainnamen oder Ihre Domain-Adresse ohne https: // davor in seinem Browser eingibt, muss er zuerst eine normale HTTP-Verbindung herstellen, dann umgeleitet werden und eine HTTPS-Verbindung herstellen .

  1. Stellen Sie eine TCP Verbindung zu Port 80 her

  2. Senden Sie eine HTTP-Anfrage und empfangen Sie eine 301-Umleitung zur https: // Version.

  3. Stellen Sie eine TCP Verbindung zu Port 443 her

  4. TLS-Handshake

  5. TLS-Handshake

  6. Senden Sie die HTTP-Anfrage erneut und warten Sie auf die Antwort.

Das braucht 6 Pings, ein bisschen Knirschen und eine unnötig kleine Bitte.

3
Oskar Skog