Maison >Opération et maintenance >Sécurité >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 :
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
Composition du message de réponse
Ligne d'état
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
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.
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 ?
12. Inconvénients du HTTPS
13. Résumez la différence entre HTTPS et HTTP
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!