Explication détaillée du protocole HTTP

青灯夜游
Libérer: 2019-11-29 10:08:44
avant
2876 Les gens l'ont consulté

Explication détaillée du protocole HTTP

1. Introduction au protocole HTTP

Le protocole http (Hypertext Transfer) est le plus utilisé sur Internet . Protocole réseau, principalement utilisé pour les services Web, qui est implémenté par des ordinateurs traitant des informations textuelles au format HTML (Hypertext Markup Language).

2. Version du protocole Http :

Version 0.9 : ne prend en charge que les pages HTML (a été éliminée) ; 1.0 :
(1) Présentation du mécanisme MIME (MultiPurpose Internet Mail Extensions), qui vous permet d'envoyer des messages multimédias
(2) Présentation du mécanisme keep-alive pour prendre en charge la fonction de lien persistant (mais ce The keep -le principe vivant est formé en ajoutant un certain champ à l'en-tête, et cette fonction n'est pas prise en charge nativement
(3) Introduction de la fonction de prise en charge des pages en cache
Version 1.1 : Une mise à niveau vers la version 1.0, prenant en charge ; plus Demander le mode de connexion, optimiser les liens persistants et optimiser la mise en cache des pages
Version 2.0 : Fournit une transmission optimisée sémantique http et ajoute une technologie spdy. Technologie Spdy : une technologie introduite par Google qui peut accélérer l'interaction des données http, en particulier l'utilisation du mécanisme d'accélération SSL, elle est communément appelée protocole https

Le plus couramment utilisé sur le Web ; Internet est actuellement en version HTTP2.0.

3. Types de pages Web courants :

Page statique :

Suffixes courants Le nom est :

  • Texte : html, htm, txt, css, doc

  • Image : gif, jpg, png

  • Vidéo : mp4, flv ;
  • Processus de demande, comme indiqué sur l'image :


Explication détaillée du protocole HTTPSocket est une couche d'abstraction entre la couche application et la couche transport. L'essence de socket est une interface de programmation (API). Elle résume les opérations complexes de la couche TCP/IP en plusieurs interfaces simples que la couche application peut appeler. pour réaliser le processus sur le réseau China Communications. TCP/IP n'est qu'une pile de protocoles, qui doit être implémentée spécifiquement et qui fournit également une interface d'opération externe (API). Il s'agit de l'interface Socket. Grâce à Socket, nous pouvons utiliser le protocole TCP/IP.

①Le client Web enregistre le socket auprès du noyau ;

②Le client envoie une demande de données au serveur Web via le navigateur

③Le serveur Web reçoit les informations de demande du client ; ;

④Si la ressource demandée par le client est locale sur le serveur, le service http demandera un appel au noyau système

⑤Le noyau appelle les données sur le disque local et envoie le les données au serveur ;

⑥http envoie la ressource demandée par l'utilisateur via le message de réponse, et répond enfin au client

Caractéristiques : elle est pré-écrite par le développeur et stockée dans ; le système de fichiers actuel. La vitesse de réponse est rapide et la maintenance de la page est gênante, l'interactivité des données est médiocre et facile à inclure par les moteurs de recherche

Page dynamique :

Les suffixes courants sont : php, jsp ; , asp, net...


Processus de demande :

Explication détaillée du protocole HTTPLa différence avec les pages statiques est que si l'utilisateur demande du contenu dynamique, alors le serveur http le fera appelez l'interpréteur back-end, et l'interpréteur back-end obtiendra les données du disque, les exécutera via l'interpréteur pour générer un fichier au format html. Ensuite, il est transformé en message de réponse et répond finalement à la demande du client.

Caractéristiques : le serveur Web lui-même ne prend pas en charge le traitement des pages dynamiques et un interpréteur spécial est nécessaire pour le compléter. Les données de la page sont modifiables, la maintenance des pages est relativement simple, la vitesse de réponse est lente, les données sont interactives. , et lors de l'accès à la page Contient des symboles spéciaux ? , %, & (symboles spéciaux) ne peuvent pas être inclus par les moteurs de recherche

Page pseudo-statique

 : déguiser les pages dynamiques en pages statiques et être incluses par les moteurs de recherche, consommant des ressources matérielles ; 🎜 >

4. Message du protocole HTTP :

message de requête : client → serveur

par Le client envoie une requête au serveur , et différents sites Web sont utilisés pour demander différentes ressources (documents HTML)

Format du message de demande :

Explication détaillée du protocole HTTP La ligne de demande :

est utilisée pour identifier la ressource demandée par le client, la méthode de requête utilisée, la ressource demandée et le protocole demandé. Ils sont directement séparés par des "espaces"

En-tête de requête :

La fonction est ; pour informer le serveur à travers le contenu pertinent demandé par le client (il peut y avoir plus d'un en-tête)

Ligne vierge :

Il y aura une ligne vide après l'en-tête de la requête, en envoyant un caractères de retour chariot et caractères de nouvelle ligne, utilisés pour informer le serveur que les informations d'en-tête de la requête n'apparaîtront plus dans le contenu suivant

Entité requérante :

Quel est le contenu spécifique de la page demandée ;

Message de réponse : Serveur → Client

Le serveur répond à la demande du client

Format du message de réponse :

Explication détaillée du protocole HTTP

Ligne de départ : La version du protocole http utilisée dans la réponse, le code d'état de la réponse et les brèves informations du code d'état

En-tête de réponse : Semblable à un message de demande, il y a généralement plusieurs champs d'en-tête après la ligne de départ. Chaque champ d'en-tête contient un nom et une valeur, séparés par des deux-points, et peut en contenir un ou plusieurs.

Ligne vierge : Il y a une ligne vide après les dernières informations d'en-tête de réponse. En envoyant des caractères de retour chariot et de saut de ligne, le client est informé qu'il n'y a aucune information d'en-tête sous la ligne vide. ;

Entité de réponse : Accéder réellement au contenu contenu dans la page

5. >Dans le processus de communication HTTP, chaque message de requête HTTP contiendra une méthode de requête HTTP, qui est utilisée pour informer le client de demander au serveur d'effectuer certaines opérations spécifiques. Méthodes de requête HTTP courantes : GET, POST, HEAD

Explication détaillée du protocole HTTPCode d'état HTTP

Aperçu du code d'état :

Description du code d'état commun :

Explication détaillée du protocole HTTP

Si le code d'état ci-dessus Si le les informations correspondantes ne sont pas trouvées, veuillez vous référer aux

Détails du code d'état HTTPExplication détaillée du protocole HTTP

7 Les éléments HTTP

incluent un HTTP. La requête et la réponse à la requête correspondante sont appelées une transaction HTTP. On peut également comprendre qu'une transaction HTTP est un processus complet de requête HTTP et de réponse HTTP. Par défaut, le protocole HTTP ouvre et ferme une nouvelle connexion pour chaque transaction, cela prend donc beaucoup de temps et de bande passante. En raison de la fonction de démarrage lent de TCP, les performances de chaque nouvelle connexion elle-même. sera réduit, de sorte que la limite supérieure du nombre de connexions parallèles pouvant être ouvertes est limitée. Par conséquent, il est préférable d'utiliser le mode de connexion persistante que de ne pas utiliser le mode de connexion persistante par défaut. Son avantage est que le temps consommé dans le processus de demande et de déconnexion TCP sera réduit.

8. Ressources HTTP

La ressource permet aux utilisateurs d'envoyer des messages au serveur via le navigateur ou l'agent utilisateur via le protocole HTTP Request. et obtenir du contenu, tel que des documents HTML, des images, etc. Type de ressource : balisé via MIME ;

Format : balise principale et cette balise

Types MIME courants :

Explication détaillée du protocole HTTP9. Introduction de l'URL

URL, le nom complet est Uniform Resource Location, la traduction chinoise est Uniform Resource Locator, également connue sous le nom d'adresse de page Web (site Web) . Comme un numéro de maison, il s'agit de l'adresse unique standard d'une ressource sur Internet. En termes simples, l'URL est une chaîne utilisée pour décrire les ressources d'informations sur Internet et est principalement utilisée dans divers programmes client et serveur www. Les URL peuvent utiliser un format unifié pour décrire diverses ressources d'informations, notamment des fichiers, des adresses de serveur et des répertoires, etc. À proprement parler, chaque URL est un URI, qui identifie une ressource Internet et spécifie une méthode pour l'utiliser ou obtenir la ressource. Le format de l'URL se compose des trois parties suivantes :

La première partie est le protocole, par exemple : http.

La deuxième partie est l'adresse IP ou le nom de domaine du serveur de ressources hôte (numéro de port), par exemple : www.kgc.cn

La troisième partie est l'adresse spécifique de la ressource hôte, tels que le répertoire et le nom de fichier, etc., par exemple : professeur/index.html

La première partie et la deuxième partie sont séparées par le symbole "://", et la deuxième partie et la troisième partie sont séparés par le symbole "/". Les première et deuxième parties sont indispensables, et la troisième partie peut être omise

10 Introduction à l'URI

URI (Uniform Resource Identifier) ​​It. est appelé le même identifiant de ressource en chinois. Il s'agit d'une chaîne utilisée pour identifier le nom d'une ressource Internet. Cette identification permet aux utilisateurs d'interagir avec la ressource via un protocole spécifique. Chaque ressource disponible sur le Web, y compris les documents HTML, les images, les clips vidéo, les programmes, etc., est localisée par un identifiant de ressource universel. Nous pouvons donc utiliser l'URI pour identifier le nom de chaque ressource ;

11. Comment http connecte-t-il plusieurs requêtes simultanément

Parce que http par défaut ? fonctionne selon le modèle de blocage, par défaut, une seule demande est reçue à la fois. Une fois la demande traitée, la demande suivante est reçue, elle ne peut donc être reçue qu'une par une.

Nous souhaitons donc répondre simultanément aux demandes des utilisateurs, ce qui nécessite un modèle multi-processus. Le serveur Web lui-même générera plusieurs processus enfants pour répondre aux demandes des utilisateurs. Autrement dit, lorsqu'une demande d'utilisateur est envoyée au serveur Web, le processus Web principal ne répondra pas directement à la demande de l'utilisateur, mais générera un processus enfant. pour répondre à la demande de l'utilisateur de cette manière, lorsque l'enfant traite après avoir établi une connexion avec cet utilisateur. Le processus principal du Web attendra la demande d'un autre utilisateur. Lorsque la deuxième demande de l'utilisateur arrivera, un processus enfant sera généré pour répondre à la deuxième demande de l'utilisateur. Et ainsi de suite. Ainsi, chaque demande utilisateur est gérée par un processus enfant.

Salle informatique CDN : La salle informatique CDN est utilisée pour stocker des ressources statiques

Si un utilisateur souhaite demander une donnée, il enverra une requête au serveur Web, puis répondra à le client, alors si des centaines de millions de personnes dans le monde demandent le serveur back-end, alors le serveur back-end ne sera pas en mesure de le gérer et la vitesse d'accès sera très lente. Ce sera la naissance d'un tel. une chose comme CDN, cdn Le contenu de la page sera stocké Lorsque le client accédera à une page, il visitera d'abord la salle informatique du CDN. Si la salle informatique du CDN n'a pas de cache, il reviendra à la source. puis mettez en cache une copie pour le CDN et présentez-la au client lors de sa prochaine visite. Il n'est pas nécessaire de revenir à la source, elle est accessible directement sur le CDN, ce qui réduit la pression sur le serveur back-end.

Tutoriels d'articles connexes : Tutoriel sur la sécurité 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:51cto.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