Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Erklärung des Unterschieds zwischen HTTP und HTTPS

Detaillierte Erklärung des Unterschieds zwischen HTTP und HTTPS

小云云
小云云Original
2018-03-15 10:58:461625Durchsuche


  • Hypertext Transfer Protocol Das HTTP-Protokoll wird zum Übertragen von Informationen zwischen Webbrowsern und Website-Servern verwendet. Das HTTP-Protokoll sendet Inhalte im Klartext und stellt keine If an Wenn ein Angreifer die Übertragungsnachricht zwischen dem Webbrowser und dem Website-Server abfängt, kann er die Informationen direkt lesen. Daher ist das HTTP-Protokoll nicht für die Übertragung vertraulicher Informationen wie Kreditkartennummern, Passwörter usw. geeignet.

  • Die vom HTTP-Protokoll übertragenen Daten sind unverschlüsselt, also im Klartext. Daher ist es sehr unsicher, das HTTP-Protokoll zur Übertragung privater Informationen zu verwenden Da diese privaten Daten verschlüsselt und übertragen werden können, hat die Internet Jing Company das SSL-Protokoll (Secure Sockets Layer) entwickelt, um die vom HTTP-Protokoll übertragenen Daten zu verschlüsseln und so HTTPS hervorzubringen.

  • Um diesen Mangel des HTTP-Protokolls zu beheben, muss ein anderes Protokoll verwendet werden: Secure Socket Layer Hypertext Transfer Protocol HTTPS Für die Sicherheit der Datenübertragung basiert HTTPS auf HTTP Das SSL-Protokoll wird dem Browser hinzugefügt. SSL basiert auf Zertifikaten, um die Identität des Servers zu überprüfen und die Kommunikation zwischen dem Browser und dem Server zu verschlüsseln.


Grundkonzept:

HTTP: Es ist das am weitesten verbreitete Netzwerkprotokoll im Internet. Es handelt sich um eine Client- und Server-Anfrage und -Antwort Standard (TCP), ein Übertragungsprotokoll zur Übertragung von Hypertext vom WWW-Server an den lokalen Browser. Es kann den Browser effizienter machen und die Netzwerkübertragung reduzieren.
HTTPS: Es handelt sich um einen HTTP-Kanal, der auf Sicherheit abzielt. Es handelt sich um eine sichere Version von HTTP, d.


Die Hauptfunktion des HTTPS-Protokolls

Verschlüsselte Übertragung; Identitätsauthentifizierung.


Unterschiede

1. Das https-Protokoll erfordert die Beantragung eines Zertifikats ab ca.

2. http ist ein Hypertext-Übertragungsprotokoll und Informationen werden im Klartext übertragen, während https ein sicheres SSL-verschlüsseltes Übertragungsprotokoll ist.
3. http und https verwenden völlig unterschiedliche Verbindungsmethoden und verwenden unterschiedliche Ports. Ersteres ist 80 und letzteres ist 443.
4. Die HTTP-Verbindung ist sehr einfach und zustandslos. Das HTTPS-Protokoll ist ein sicherer Kanal, der auf dem SSL + HTTP-Protokoll basiert und eine verschlüsselte Übertragung und Identitätsauthentifizierung durchführen kann. Es ist sicherer als das HTTP-Protokoll.


So funktioniert HTTPS

  1. Kunden verwenden https-URLs, um auf den Webserver zuzugreifen. Dazu muss eine SSL-Verbindung mit dem Webserver hergestellt werden.

  2. Nachdem der Webserver die Anfrage des Clients erhalten hat, sendet er eine Kopie der Zertifikatsinformationen der Website (das Zertifikat enthält den öffentlichen Schlüssel) an den Client.

  3. Der Client erstellt zufällig einen Sitzungsschlüssel, verwendet dann den öffentlichen Schlüssel der Website, um den Sitzungsschlüssel zu verschlüsseln und überträgt ihn an die Website.

  4. Der Webserver verwendet die Entschlüsselung mit öffentlichen Schlüsseln, um den Sitzungsschlüssel zu erhalten.

  5. Der Webserver und der Browser kommunizieren durch die Ver- und Entschlüsselung von Sitzungsschlüsseln

  6. Wie in der Abbildung gezeigt:


    Detaillierte Erklärung des Unterschieds zwischen HTTP und HTTPS


Vorteile von HTTPS

  1. Die Verwendung des HTTPS-Protokolls kann Benutzer und Server authentifizieren und sicherstellen, dass Daten an den richtigen Client gesendet werden Server;

  2. Das HTTPS-Protokoll ist ein Netzwerkprotokoll, das auf dem SSL+HTTP-Protokoll basiert und eine verschlüsselte Übertragung und Identitätsauthentifizierung durchführen kann. Es ist sicherer als das HTTP-Protokoll und kann verhindern, dass Daten übertragen werden während des Übertragungsvorgangs gestohlen oder verändert werden. Stellen Sie sicher, dass die Datenintegrität gewährleistet ist.

  3. HTTPS ist die sicherste Lösung unter der aktuellen Architektur. Obwohl es nicht absolut sicher ist, erhöht es die Kosten von Man-in-the-Middle-Angriffen erheblich.

  4. Google hat seinen Suchmaschinenalgorithmus im August 2014 angepasst und erklärt, dass „Websites, die HTTPS-Verschlüsselung verwenden, im Vergleich zu entsprechenden HTTP-Websites in den Suchergebnissen einen höheren Rang einnehmen.“


Nachteile von HTTPS

  1. Die Handshake-Phase des HTTPS-Protokolls ist zeitaufwändig, was die Ladezeit der Seite um nahezu verlängert

  2. HTTPS-Verbindungs-Caching ist nicht so effizient wie HTTP, was den Datenaufwand und den Stromverbrauch und sogar bestehende Sicherheitsmaßnahmen erhöht

  3. SSL-Zertifikate kosten Geld, desto höher sind die Kosten. Persönliche Websites und kleine Websites verwenden es im Allgemeinen nicht.

  4. SSL-Zertifikate müssen normalerweise an eine IP gebunden werden. IPv4-Ressourcen können diesen Verbrauch nicht unterstützen.


HTTP auf HTTPS umstellen

  1. Hier müssen Sie alle Links auf der Seite ändern, z. B. JS, CSS, Bilder usw. Von http zu https geändert.

  2. Wir können beim Umschalten http und https kompatibel machen. Die spezifische Implementierungsmethode besteht darin, den http-Header im Seitenlink zu entfernen, sodass der http-Header und der https-Header automatisch abgeglichen werden können. Beispiel: Ändern Sie http://www.baidu.com in //www.baidu.com. Wenn der Benutzer dann die Zugriffsseite über den HTTP-Eingang betritt, lautet die Seite http. Wenn der Benutzer die Zugriffsseite über den HTTP-Eingang betritt, lautet die Seite https

Verwandte Empfehlungen:

PHP-HTTP-Anfrage http 500 Der Unterschied zwischen http und https http 192.168.1.1

HTTP- und HTTPS-Cross-Domain-Sharing-Sitzungslösung

PHP implementiert einfach domänenübergreifende Sitzungsfreigabelösungen für HTTP und HTTPS

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung des Unterschieds zwischen HTTP und HTTPS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn