Maison > Article > développement back-end > Explication détaillée de la différence entre HTTP et HTTPS
Hypertext Transfer Protocol Le protocole HTTP est utilisé pour transférer des informations entre les navigateurs Web et les serveurs de sites Web. Le protocole HTTP envoie du contenu en texte clair et ne fournit aucun signal. L'attaquant intercepte le message de transmission entre le navigateur Web et le serveur du site Web, il peut lire directement les informations. Par conséquent, le protocole HTTP n'est pas adapté à la transmission de certaines informations sensibles, telles que les numéros de carte de crédit, les mots de passe, etc.
Les données transmises par le protocole HTTP ne sont pas cryptées, c'est-à-dire en texte brut, il est donc très dangereux d'utiliser le protocole HTTP pour transmettre des informations privées afin de garantir cela. ces données privées pouvant être cryptées et transmises, la société Internet Jing a conçu le protocole SSL (Secure Sockets Layer) pour crypter les données transmises par le protocole HTTP, donnant ainsi naissance au HTTPS.
Afin de résoudre ce défaut du protocole HTTP, un autre protocole doit être utilisé : Secure Socket Layer Hypertext Transfer Protocol HTTPS Pour la sécurité de la transmission des données, HTTPS est basé sur HTTP. Le protocole SSL a été ajouté au navigateur SSL s'appuie sur des certificats pour vérifier l'identité du serveur et crypter la communication entre le navigateur et le serveur.
HTTP : C'est le protocole réseau le plus utilisé sur Internet. Il s'agit d'une requête et d'une réponse client et serveur. standard (TCP), un protocole de transmission utilisé pour transmettre l'hypertexte du serveur WWW au navigateur local. Il peut rendre le navigateur plus efficace et réduire la transmission réseau.
HTTPS : Il s'agit d'un canal HTTP destiné à la sécurité. En termes simples, il s'agit d'une version sécurisée de HTTP, c'est-à-dire qu'une couche SSL est ajoutée à HTTPS. La base de sécurité de HTTPS est SSL, donc les détails du cryptage nécessitent SSL.
Transmission cryptée
Authentification de l'identité.
1. Le protocole https nécessite de demander un certificat à partir de ca. Généralement, il y a moins de certificats gratuits, donc certains frais sont requis.
2. http est un protocole de transfert hypertexte et les informations sont transmises en texte brut, tandis que https est un protocole de transmission sécurisé et crypté SSL.
3. HTTP et https utilisent des méthodes de connexion complètement différentes et utilisent des ports différents. Le premier est 80 et le second est 443.
4. La connexion http est très simple et sans état : le protocole HTTPS est un canal sécurisé construit par le protocole SSL+HTTP qui peut effectuer une transmission cryptée et une authentification d'identité, et est plus sûr que le protocole http.
Les clients utilisent des URL https pour accéder au serveur Web, ce qui nécessite l'établissement d'une connexion SSL avec le serveur Web.
Après avoir reçu la demande du client, le serveur Web enverra une copie des informations du certificat du site Web (le certificat contient la clé publique) au client.
Le client établit aléatoirement une clé de session, puis utilise la clé publique du site Web pour crypter la clé de session et la transmet au site Web.
Le serveur Web utilise le décryptage par clé publique pour obtenir la clé de session.
Le serveur Web et le navigateur communiquent via le cryptage et le déchiffrement des clés de session
Comme le montre la figure :
L'utilisation du protocole HTTPS peut authentifier les utilisateurs et les serveurs, garantissant que les données sont envoyées au bon client et serveur ;
Le protocole HTTPS est un protocole réseau construit à partir du protocole SSL+HTTP qui peut effectuer une transmission cryptée et une authentification d'identité. Il est plus sûr que le protocole http et peut empêcher l'accès des données. volés ou modifiés pendant le processus de transmission. Assurer l’intégrité des données.
HTTPS est la solution la plus sécurisée sous l'architecture actuelle. Bien qu'elle ne soit pas absolument sûre, elle augmente considérablement le coût des attaques de l'homme du milieu.
Google a ajusté l'algorithme de son moteur de recherche en août 2014 et a déclaré que "par rapport aux sites Web HTTP équivalents, les sites Web utilisant le cryptage HTTPS seront mieux classés dans les résultats de recherche".
La phase de prise de contact du protocole HTTPS prend du temps, ce qui prolongera le temps de chargement des pages de près 50 % et augmentation de 10 % à 20 % de la consommation d'énergie ;
La mise en cache des connexions HTTPS n'est pas aussi efficace que HTTP, ce qui augmentera la surcharge de données et la consommation d'énergie, ainsi que les mesures de sécurité existantes. sera affecté ;
Les certificats SSL coûtent de l'argent. Plus le certificat est puissant, plus le coût est élevé. Les sites Web personnels et les petits sites Web ne l'utilisent généralement pas sauf en cas de nécessité.
Les certificats SSL doivent généralement être liés à une IP. Plusieurs noms de domaine ne peuvent pas être liés à la même IPv4 et les ressources ne peuvent pas prendre en charge cette consommation.
Ici, vous devez modifier tous les liens de la page, tels que js, css, images , etc. Passé de http à https.
Nous pouvons rendre http et https compatibles lors du changement. La méthode de mise en œuvre spécifique consiste à supprimer l'en-tête http dans le lien de la page, afin que l'en-tête http et l'en-tête https puissent être automatiquement mis en correspondance. Par exemple : remplacez http://www.baidu.com par //www.baidu.com. Ensuite, lorsque l'utilisateur entre dans la page d'accès depuis l'entrée http, la page est http Si l'utilisateur entre dans la page d'accès depuis l'entrée https, la page est https
Recommandations associées : <.>
Demande HTTP HTTP http 500 La différence entre http et https http 192.168.1.1
Solution de session de partage inter-domaines HTTP et HTTPS
PHP implémente simplement des solutions de session de partage inter-domaines HTTP et HTTPS
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!