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 :
Le plus couramment utilisé sur le Web ; Internet est actuellement en version HTTP2.0.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
3. Types de pages Web courants :
Page statique :
Suffixes courants Le nom est :- Texte : html, htm, txt, css, doc
- Image : gif, jpg, png
- Processus de demande, comme indiqué sur l'image :
Socket 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 :
La 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 : La ligne de demande :
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 suivantEntité 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 :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
Code d'état HTTP
Aperçu du code d'état :
Description du code d'état commun :Détails du code d'état 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 :
9. 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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds



Le code d'état HTTP 520 signifie que le serveur a rencontré une erreur inconnue lors du traitement de la demande et ne peut pas fournir d'informations plus spécifiques. Utilisé pour indiquer qu'une erreur inconnue s'est produite lorsque le serveur traitait la demande, ce qui peut être dû à des problèmes de configuration du serveur, à des problèmes de réseau ou à d'autres raisons inconnues. Cela est généralement dû à des problèmes de configuration du serveur, des problèmes de réseau, une surcharge du serveur ou des erreurs de codage. Si vous rencontrez une erreur de code d'état 520, il est préférable de contacter l'administrateur du site Web ou l'équipe d'assistance technique pour plus d'informations et d'assistance.

Comprendre la signification du code d'état HTTP 301 : scénarios d'application courants de redirection de pages Web Avec le développement rapide d'Internet, les exigences des utilisateurs en matière d'interaction avec les pages Web sont de plus en plus élevées. Dans le domaine de la conception Web, la redirection de pages Web est une technologie courante et importante, mise en œuvre via le code d'état HTTP 301. Cet article explorera la signification du code d'état HTTP 301 et les scénarios d'application courants dans la redirection de pages Web. Le code d'état HTTP 301 fait référence à une redirection permanente (PermanentRedirect). Lorsque le serveur reçoit le message du client

Comment utiliser NginxProxyManager pour implémenter le saut automatique de HTTP à HTTPS Avec le développement d'Internet, de plus en plus de sites Web commencent à utiliser le protocole HTTPS pour crypter la transmission des données afin d'améliorer la sécurité des données et la protection de la vie privée des utilisateurs. Le protocole HTTPS nécessitant la prise en charge d'un certificat SSL, un certain support technique est requis lors du déploiement du protocole HTTPS. Nginx est un serveur HTTP et un serveur proxy inverse puissants et couramment utilisés, et NginxProxy

Le code d'état HTTP 403 signifie que le serveur a rejeté la demande du client. La solution au code d'état http 403 est la suivante : 1. Vérifiez les informations d'authentification. Si le serveur requiert une authentification, assurez-vous que les informations d'identification correctes sont fournies ; 2. Vérifiez les restrictions d'adresse IP. Si le serveur a restreint l'adresse IP, assurez-vous que les informations d'identification sont correctes. l'adresse IP du client est restreinte. Sur liste blanche ou non sur liste noire ; 3. Vérifiez les paramètres d'autorisation du fichier. Si le code d'état 403 est lié aux paramètres d'autorisation du fichier ou du répertoire, assurez-vous que le client dispose des autorisations suffisantes pour accéder à ces fichiers ou répertoires. etc.

Application rapide : analyse de cas de développement pratique de PHP Téléchargement HTTP asynchrone de plusieurs fichiers Avec le développement d'Internet, la fonction de téléchargement de fichiers est devenue l'un des besoins fondamentaux de nombreux sites Web et applications. Pour les scénarios dans lesquels plusieurs fichiers doivent être téléchargés en même temps, la méthode de téléchargement synchrone traditionnelle est souvent inefficace et prend du temps. Pour cette raison, utiliser PHP pour télécharger plusieurs fichiers de manière asynchrone via HTTP est devenu une solution de plus en plus courante. Cet article analysera en détail comment utiliser le HTTP asynchrone PHP à travers un cas de développement réel.

Solution : 1. Vérifiez le type de contenu dans l'en-tête de la requête ; 2. Vérifiez le format des données dans le corps de la requête ; 3. Utilisez le format de codage approprié. 4. Utilisez la méthode de requête appropriée ;

Problèmes courants de communication réseau et de sécurité et solutions en C# À l'ère d'Internet d'aujourd'hui, la communication réseau est devenue un élément indispensable du développement logiciel. En C#, nous rencontrons généralement certains problèmes de communication réseau, tels que la sécurité de la transmission des données, la stabilité de la connexion réseau, etc. Cet article abordera en détail les problèmes courants de communication réseau et de sécurité en C# et fournira les solutions correspondantes et des exemples de code. 1. Problèmes de communication réseau Interruption de la connexion réseau : pendant le processus de communication réseau, la connexion réseau peut être interrompue, ce qui peut entraîner

Comment implémenter le streaming HTTP en C++ ? Créez un socket de flux SSL à l'aide de Boost.Asio et de la bibliothèque client asiohttps. Connectez-vous au serveur et envoyez une requête HTTP. Recevez les en-têtes de réponse HTTP et imprimez-les. Reçoit le corps de la réponse HTTP et l'imprime.
