Table des matières
Deuxièmement, le contenu principal du protocole http
Pièce jointe : Cet article est juste une brève compréhension du contenu principal et de l'utilisation du protocole http
Les amis intéressés peuvent accéder à ce site Web https://www.runoob.com/http/http-status-codes.html (l'URL du didacticiel http) pour en savoir plus sur l'apprentissage du protocole http
1. Qu'est-ce que http ?
HTTP : protocole de transfert hypertexte HyperText Transfer Protocol, est l'un des protocoles de transfert de réseau filaire les plus largement utilisés sur Internet, et est la spécification de règle que le client et le serveur suivent lors du transfert de contenu.
Le protocole http est un programme informatique très compliqué. Nous n'avons pas besoin d'étudier délibérément le code source du protocole http. Nous avons seulement besoin d'étudier le contenu principal et l'utilisation du protocole http afin de comprendre le principe d'implémentation de la technologie ajax .
Deuxièmement, le contenu principal du protocole http
Poignée de main à trois voies, vague à quatre voies, message de demande, message de réponse, code d'état du protocole http
2.1. Poignée de main à trois
La poignée de main à trois voies fait partie du protocole http, complétée par le protocole TCPP/IP, et le contenu du programme est exécuté avant que le client et le serveur n'établissent officiellement un lien.
Pour vous assurer que le client et le serveur fonctionnent correctement
Le client doit déterminer
Le client peut recevoir et envoyer des requêtes normalement
Le serveur peut recevoir et envoyer des requêtes normalement
Le serveur doit déterminer
Le client peut recevoir et envoyer des requêtes normalement
Le serveur peut recevoir et envoyer des requêtes normalement
Les étapes de la poignée de main à trois
1. Le client envoie une requête au serveur
le client peut déterminer
Le client peut envoyer des requêtes normalement
Le serveur peut déterminer
Le client peut envoyer des requêtes normalement
Le serveur peut recevoir des requêtes normalement
2. Le serveur envoie une requête au client
Le serveur peut déterminer
Le serveur peut envoyer des requêtes normalement
le client peut déterminer
Le client peut recevoir la demande normalement
Le serveur peut envoyer des requêtes normalement
Le serveur peut recevoir des requêtes normalement
3. Le client envoie une requête au serveur
Le serveur peut déterminer
Le client peut recevoir la demande normalement
2.2. Saluer quatre fois
Les quatre mains agitées sont exécutées via le protocole TCP/IP avant que le client et le serveur ne soient officiellement déconnectés.
Afin de s'assurer que le client et le serveur sont correctement déconnectés
Le processus étape par étape de quatre vagues
1. Le client envoie une requête au serveur
Le client indique au serveur que le client est sur le point de se déconnecter
2. Le serveur envoie une requête au client
Le serveur indique au client que le serveur sait que le client est sur le point de se déconnecter
Le serveur est sur le point de s'arrêter
Si le client souhaite mettre fin à l'opération de déconnexion, le client renverra immédiatement une demande pour mettre fin à la déconnexion au serveur. Si le serveur ne reçoit pas la demande de mettre fin à la déconnexion du client, le serveur continuera à effectuer la troisième vague
3. Le serveur envoie une requête au client
Le serveur indique au client que le serveur s'est officiellement arrêté et que le serveur n'enverra plus de requêtes, mais le serveur peut continuer à recevoir des requêtes
4. Le client envoie une requête au serveur
Le client indique au serveur que le client sait que le serveur est fermé, que le client est fermé et que le client ne reçoit plus de requêtes, mais que le client peut continuer à envoyer des requêtes
état final
Le client est fermé et ne reçoit plus de requêtes, mais peut envoyer des requêtes
Le serveur est fermé et n'envoie plus de requêtes, mais peut recevoir des requêtes
2.3. Message de demande
Le message de requête est le programme de protocole http exécuté lorsque le client envoie une requête au serveur pour transporter des données de paramètres
Demander le contenu du message : ligne de demande, en-tête de demande, ligne vide de demande, corps de demande, dans le navigateur, le contenu principal de ces 4 parties sera affiché
1. Ligne de demande
POST /demo/demo.php HTTP/1.1
Méthode de requête POST
/demo/demo.php adresse de requête
Protocole de requête HTTP/1.1 et version du protocole
2. En-tête de demande
Hôte : 127.0.0.1 adresse de requête/nom de domaine
Origine : protocole de requête http://127.0.0.1 et adresse/nom de domaine
Référent : http://127.0.0.1/demo/demo.html Adresse de demande complète
Agent utilisateur : Mozilla/5.0 (Windows NT 10.0 ; Win64 ; x64) AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/97.0.4692.71 Safari/537.36 Informations sur la version du navigateur
Accepter : text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3; q=0.9 format attendu du fichier de réponse du programme backend
Content-Type : application/x-www-form-urlencoded post method a le paramètre de format d'en-tête de requête
3. Demander une ligne vierge
Il s'agit simplement d'une ligne vide dans le code source du message de requête http, qui est utilisée pour distinguer l'en-tête de la requête et le code du corps de la requête. Elle n'existe que dans le code source du message de requête http et ne sera pas affichée dans le navigateur
4. Corps de la requête
Seule la méthode post a un corps de requête, qui est utilisé pour transporter des données de paramètre. La méthode get n'a pas de corps de requête et les paramètres sont transportés via la barre d'adresse du navigateur.
Mais la méthode get du navigateur affichera également le corps de la requête
2.4. Message de réponse
Le message de réponse est le programme de protocole http exécuté par le serveur lorsque le serveur répond au client avec des données
La composition du message de réponse : ligne de réponse, en-tête de réponse, corps de réponse
1. Ligne de réponse
HTTP/1.1 200 OK
Protocole de requête HTTP/1.1 et version du protocole
200 code d'état http
OK http description de la transition
2. En-tête de réponse
Serveur : logiciel et version du serveur nginx/1.15.11
Date : mar. 08 février 2022 08:08:26 GMT Heure du serveur UTC
Content-Type : text/html ; charset=UTF-8 format et codage du corps de la réponse du serveur
X-Powered-By : moteur et version PHP/7.3.4
3. Organe de réponse
{"name":"\u5f20\u4e09","age":18,"sex":"\u7537"}
Le contenu généré par le programme backend est le contenu du corps de la réponse
2.5, code d'état http
Le soi-disant code d'état http est l'utilisation de nombres pour représenter l'état de la requête http
100 - 199
Le client et le serveur établissent une connexion
En attendant la prochaine opération
200 - 299
La requête se termine et la requête aboutit
300 - 399
demande de redirection
Besoin d'aller de A à B, pas directement de A à B, mais d'abord de A à C, puis de C à B, appelé demande de redirection
400 - 499
L'exécution de la demande a échoué, la raison de l'erreur est que le client
500 - 599
L'exécution de la requête a échoué, la raison de l'erreur est que le serveur