Maison > Opération et maintenance > Sécurité > Découvrez rapidement les protocoles HTTP et HTTPS !

Découvrez rapidement les protocoles HTTP et HTTPS !

青灯夜游
Libérer: 2020-06-17 11:07:54
avant
2958 Les gens l'ont consulté

Découvrez rapidement les protocoles HTTP et HTTPS !

1. Qu'est-ce qu'un protocole ?

Un protocole réseau est un « accord » ou une « règle » conclu entre des ordinateurs pour réaliser une communication réseau. Avec cet « accord », des équipements de production de différents fabricants, et la communication peut être réalisée entre. ordinateurs composés de différents systèmes d’exploitation.

2. Qu'est-ce que le protocole HTTP ?

Le protocole HTTP est l'abréviation de Hyper Text Transfer Protocol, et le nom anglais est Hyper Text Transfer Protocol. Il s'agit d'un protocole de transmission permettant de transmettre du Hypertext Markup Language (HTML) depuis un serveur WEB vers un navigateur local.

HTTP a été initialement conçu pour fournir une méthode de publication et de réception de pages HTML.

HTPP a plusieurs versions, la version actuellement largement utilisée est HTTP/1.1.

3.Principe HTTP

HTTP est un protocole qui transmet des données basé sur le protocole de communication TCP/IP. Le type de données transmis est HTML. fichiers, fichiers image, résultats de requête, etc.

Le protocole HTTP est généralement utilisé dans l'architecture B/S (). En tant que client HTTP, le navigateur envoie toutes les requêtes au serveur HTTP, c'est-à-dire au serveur WEB, via l'URL.

Nous prenons la visite de Baidu comme exemple :


Découvrez rapidement les protocoles HTTP et HTTPS !
Accéder au processus Baidu

4.Fonctionnalités HTTP

  • Le protocole http prend en charge le mode client/serveur et est également un mode requête/réponse accord.

  • Simple et rapide : Lorsqu'un client demande un service au serveur, il lui suffit de transmettre la méthode et le chemin de la requête. Les méthodes de requête couramment utilisées sont GET, HEAD et POST.

  • Flexible : HTTP permet la transmission de tout type d'objet de données. Le type de transmission est marqué par Content-Type.

  • Aucune connexion : Limitez chaque connexion pour traiter une seule demande. Une fois que le serveur a traité la demande et reçu la réponse du client, il se déconnecte, mais cela ne favorise pas le maintien d'une connexion de session entre le client et le serveur. Afin de combler cette lacune, il existe deux technologies d'enregistrement du statut http. été développé, l’un s’appelle Cookie, l’autre s’appelle Session.

  • Apatride : Apatride signifie que le protocole n'a pas de mémoire pour le traitement des transactions. Si le traitement ultérieur nécessite les informations précédentes, elles doivent être retransmises.

5. La différence entre l'URI et l'URL

HTTP utilise des identifiants de ressources uniformes (URI) pour transférer des données et établir des connexions.

  • URI : Identifiant de ressource uniforme Ressource uniforme IdentifiantCaractère

  • URL : Emplacement de ressource uniforme Emplacement de ressource uniforme Le symbole

URI est utilisé pour marquer une ressource spécifique. Nous pouvons savoir ce qu'est une ressource grâce à l'URI.

L'URL est utilisée pour localiser des ressources spécifiques et marque un emplacement de ressource spécifique. Chaque fichier sur Internet possède une URL unique.

6. Composition du message HTTP

Demande de composition du message

1. Ligne de requête : y compris la méthode de requête, l'URL, le protocole/la version

2. En-tête de la requête

3. Corps de la requête

Découvrez rapidement les protocoles HTTP et HTTPS !
Composition du message de demande

Composition du message de réponse

Ligne d'état

2. En-tête de réponse


3. Corps de réponse

Découvrez rapidement les protocoles HTTP et HTTPS !
Composition du message de réponse

Méthodes de requête courantes

  • GET : demandez les informations de page spécifiées et renvoyez le corps de l'entité.

  • POST : Soumettez les données à la ressource spécifiée pour traiter la demande (comme la soumission d'un formulaire ou le téléchargement d'un fichier). Les données sont incluses dans le corps de la demande. Les requêtes POST peuvent entraîner la création de nouvelles ressources et/ou la modification de ressources existantes.

  • HEAD : Semblable à une requête get, sauf qu'il n'y a pas de contenu spécifique dans la réponse renvoyée, utilisé pour obtenir l'en-tête

  • PUT : Du client Les données transmises du client au serveur remplacent le contenu du document spécifié.

  • DELETE : Demander au serveur de supprimer la page spécifiée.

obtenir la demande

Découvrez rapidement les protocoles HTTP et HTTPS !
OBTENIR la demande

demande de publication

Découvrez rapidement les protocoles HTTP et HTTPS !
demande de publication

La différence entre post et get :

  • contiennent tous deux des en-têtes de requête et des lignes de requête, tandis que post a plus de corps de requête.

  • get est principalement utilisé pour les requêtes. Les paramètres de la requête sont placés dans l'URL et n'affecteront pas le contenu sur le serveur. La publication est utilisée pour soumettre, par exemple en mettant le mot de passe du compte dans le corps.

  • GET est ajouté directement à la fin de l'URL, et le contenu peut être vu directement dans l'URL, tandis que POST est placé à l'intérieur du message et ne peut pas être vu directement par l'utilisateur.

  • La longueur des données soumises par GET est limitée car la longueur de l'URL est limitée. La limite de longueur spécifique dépend du navigateur. POST ne le fait pas.

8. Code d'état de réponse

Lors de l'accès à une page Web, le navigateur enverra un message. au serveur Web, demandez. Le serveur sur lequel se trouve cette page Web renverra un en-tête d'information contenant un code d'état HTTP en réponse à la demande du navigateur.

Classification des codes d'état  :

  • 1XX- De type informatif, le serveur reçoit la requête et a besoin du demandeur pour continuer l'opération.

  • 2XX- Type de réussite, la demande est reçue, comprise et traitée avec succès.

  • 3XX - Redirection, une action supplémentaire est requise pour compléter la demande.

  • 4XX - Erreur client, la requête contenait une erreur de syntaxe ou la requête n'a pas pu être complétée.

  • 5XX - Erreur du serveur Une erreur s'est produite pendant que le serveur traitait la demande.

Codes d'état courants :

  • 200 OK - Demande client réussie

  • 301 - Les ressources (pages web, etc.) sont transférées définitivement vers d'autres URL

  • 302 - Saut temporaire

  • 400 Bad Request - La requête du client comporte une erreur de syntaxe et ne peut pas être comprise par le serveur

  • 401 Non autorisée - La requête n'est pas autorisée, ce code d'état doit être identique à WWW - Le champ d'en-tête d'authentification est utilisé avec

  • 404 - La ressource demandée n'existe pas, peut-être qu'une mauvaise URL a été saisie

  • 500 - Une erreur inattendue s'est produite au sein du serveur

  • 503 Serveur indisponible - Le serveur est actuellement incapable de traiter la demande du client et peut revenir à normal après un certain temps.

9. Pourquoi utiliser https ?

En utilisation réelle, la plupart des sites Web utilisent désormais le protocole https, qui est également la future tendance de développement d'Internet. Ce qui suit est le processus de demande de connexion d'un site Web de blog capturé via Wireshark.

Découvrez rapidement les protocoles HTTP et HTTPS !
Capture du paquet de connexion au blog

Vous pouvez voir que le compte et le mot de passe consultés sont tous transmis en texte clair, donc la demande envoyé par le client est très facile à intercepter et à exploiter par des criminels. Par conséquent, le protocole HTTP n'est pas adapté à la transmission de certaines informations sensibles, telles que divers numéros de compte, mots de passe et autres informations. Il est très dangereux d'utiliser HTTP. protocole pour transmettre des informations privées.

Le http général présente les problèmes suivants :

  • Les informations de demande sont transmises en texte clair, qui est facilement intercepté par les écoutes clandestines.

  • L'intégrité des données n'est pas vérifiée et est facilement falsifiée

  • L'identité de l'autre partie n'est pas vérifiée, et il y a un risque d'usurpation d'identité

10. Qu'est-ce que HTTPS ?

Afin de résoudre les problèmes de HTTP ci-dessus, HTTPS est utilisé.

Protocole HTTPS (HyperText Transfer Protocol over Secure Socket Layer) : Généralement compris comme HTTP+SSL/TLS, l'identité du serveur est vérifiée via le certificat SSL et la communication entre le navigateur et le serveur est cryptée.

Alors, qu'est-ce que SSL ?

SSL (Secure Socket Layer) : Développé par Netscape en 1994, le protocole SSL se situe entre le protocole TCP/IP et divers protocoles de couche application. C'est une communication de données qui fournit un support de sécurité. .

TLS (Transport Layer Security, Transport Layer Security) : Son prédécesseur est SSL. Ses premières versions (SSL 1.0, SSL 2.0, SSL 3.0) ont été développées par Netscape et ont été adoptées à partir de la 3.1 en 1999. L'IETF l'a standardisé et renommé, et il existe désormais trois versions : TLS 1.0, TLS 1.1 et TLS 1.2. SSL3.0 et TLS1.0 sont rarement utilisés en raison de failles de sécurité. TLS 1.3 connaîtra des changements majeurs et est encore au stade de projet. Les plus utilisés sont TLS 1.1 et TLS 1.2.

Historique du développement de SSL (communication cryptée sur Internet)

1 En 1994, NetSpace a conçu la version 1.0 du protocole SSL (Secure Sockets Layout), mais ce n'était pas le cas. libéré.

2. En 1995, NetSpace a publié la version SSL/2.0, et de graves vulnérabilités ont été rapidement découvertes

3 En 1996, la version SSL/3.0 a été publiée et elle a été largement utilisée

. 🎜>

4 , En 1999, la version mise à niveau SSL TLS/1.0 a été publiée, qui est actuellement la version la plus utilisée

5 En 2006 et 2008, TLS/1.1 et TLS/1.2 ont été publiées.

11. Quel est le processus du navigateur utilisant HTTPS pour transmettre des données ?


Découvrez rapidement les protocoles HTTP et HTTPS !
Processus de transfert de données HTTPS

1 , Tout d'abord, le client accède au serveur via l'URL pour établir une connexion SSL.

2. Après avoir reçu la demande du client, le serveur enverra une copie des informations du certificat prises en charge par le site Web (le certificat contient la clé publique) au client.

3. Le serveur du client commence à négocier le niveau de sécurité de la connexion SSL, qui est le niveau de cryptage des informations.

4. Le navigateur du client établit une clé de session en fonction du niveau de sécurité convenu par les deux parties, puis utilise la clé publique du site Web pour crypter la clé de session et la transmet au site Web.

5. Le serveur utilise sa propre clé privée pour déchiffrer la clé de session.

6. Le serveur utilise la clé de session pour crypter la communication avec le client.

12. Inconvénients du HTTPS

  • Le protocole HTTPS comporte plusieurs poignées de main, ce qui augmente le temps de chargement de la page. de près de 50 % ;
  • 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
  • Application ; car un certificat SSL nécessite de l'argent, plus la fonction est puissante. Le certificat coûte plus cher.
  • L'algorithme de sécurité impliqué dans SSL consomme des ressources CPU et consomme beaucoup de ressources serveur.

13. Résumez la différence entre HTTPS et HTTP

  • HTTPS est la sécurité de Version du protocole HTTP, la transmission des données du protocole HTTP est en texte clair et n'est pas sécurisée. HTTPS utilise le protocole SSL/TLS pour le cryptage.
  • http et https utilisent des méthodes de connexion différentes, et les ports par défaut sont également différents, http est 80 et https est 443.

Tutoriel recommandé : Sécurité du serveur Web

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!

Étiquettes associées:
source:zhihu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal