Maison >développement back-end >tutoriel php >Explication détaillée des exemples de protocole HTTP
HTTP est un protocole de couche application, composé de requêtes et de réponses, et constitue un modèle de service client standard. HTTP est généralement transporté sur le protocole TCP, et parfois sur la couche de protocole TLS ou SSL. À l'heure actuelle, il est communément appelé HTTPS. Le numéro de port par défaut pour HTTP est 80 et le numéro de port pour HTTPS est 443.
L'inconvénient est que le serveur ne poussera pas activement le client
L'application du protocole SPDY nécessite un navigateur client et serveur Les deux terminaux sont pris en charge en même temps. Optimise la communication entre le navigateur et le serveur, prend en charge le multiplexage des flux, priorise les requêtes, lance les requêtes de manière proactive, force la transmission sécurisée SSL et d'autres fonctionnalités avancées
4.1.2 Comment fonctionne le protocole HTTP
La navigation sur le Web est la principale application du protocole HTTP. Une opération HTTP est appelée une transaction
1 Le client doit établir une connexion avec le serveur et cliquer sur un lien hypertexte. les travaux commencent.
2 Après avoir établi la connexion, le client envoie une requête au serveur.
3 Une fois que le serveur a reçu la requête, il donne les informations de réponse correspondantes
4 Le client reçoit les informations renvoyées par le serveur et les affiche sur l'écran de l'utilisateur, puis le client se déconnecte de le serveur
Quelques concepts principaux du protocole HTTP
1 Requête
La requête HTTP se compose de trois parties : en-tête de requête, en-tête de requête, corps de requête
Ligne de requête : Méthode Request-URL HTTP-Version CRLF
Méthode : Méthode de requête (GET, POST, HEAD, PUT, DELETE, TRACE, CONNECT, OPTIONS)
URL de requête : un identifiant de ressource uniforme
Version HTTP : la version du protocole HTTP demandée
CRLF : retour chariot et saut de ligne
2 Réponses
La réponse HTTP se compose également de trois parties : ligne d'état, en-tête de message, corps de la réponse
Ligne d'état : Statut de la version HTTP -Code Reason-Phrase CRLF
Version HTTP : Version du protocole HTTP du serveur
Status-Code : Code d'état de réponse renvoyé par le serveur
Phrase de raison : description textuelle du code d'état
Le code d'état se compose de trois chiffres et de cinq valeurs possibles
1XX : informations d'indication - la demande a a été reçu, continuez le traitement
2XX : Succès --la demande a été reçue, comprise et acceptée avec succès
3XX : Redirection --d'autres opérations doivent être effectuées pour terminer la demande
4XX : Erreur du client --La demande contient une erreur de syntaxe ou la demande ne peut pas être satisfaite
5XX : Erreur du serveur --Le serveur n'a pas réussi à répondre à une demande légitime
Codes d'état courants et descriptions de statut
200 OK : la demande du client a réussi
400 mauvaise demande : la demande du client a une erreur de syntaxe et ne peut pas être traité Ce que le serveur comprend
401 Unauthorize : La demande n'est pas autorisée, ce code d'état doit être utilisé avec l'en-tête WWW Authenticate
403 Interdit : Le serveur a reçu la demande, mais a refusé de la fournir. Service
404 Non trouvé : La ressource demandée n'existe pas, par exemple, une URL incorrecte a été saisie
500 Erreur de serveur interne : une erreur inattendue s'est produite sur le serveur
503 Serveur indisponible : Le serveur est actuellement incapable de traiter la demande du client et peut revenir à la normale après un certain temps
3 en-têtes
Les en-têtes de message HTTP incluent les en-têtes ordinaires, l'en-tête de requête, l'en-tête de réponse, l'en-tête d'entité
1 Il y a quelques champs d'en-tête dans l'ordinaire en-tête qui sont utilisés pour tous les messages de requête et de réponse, mais ne sont pas utilisés pour l'entité transmise, uniquement pour le message transmis (Contrôle du cache, contrôle de connexion)
2 L'en-tête de requête permet au client de passer informations complémentaires de la requête au serveur ainsi que les informations propres au client (en-tête UA, Accepter)
3 L'en-tête de réponse permet au serveur de transmettre des informations de réponse supplémentaires qui ne peuvent pas être placées dans la ligne d'état, ainsi que des informations sur le serveur et des informations sur le prochain accès à la ressource identifiée par l'URL de la requête (emplacement)
4 L'en-tête d'entité définit des méta-informations sur le corps de l'entité et la ressource identifiée par la requête, par exemple s'il existe un corps d'entité
Plusieurs en-têtes importants :
Hôte Le champ :header spécifie l'hôte Internet et le numéro de port de la ressource demandée, et doit indiquer l'emplacement du serveur ou de la passerelle d'origine de l'URL demandée.
User Agent : UA en abrégé, le contenu contient les informations de l'utilisateur qui a fait la demande. Contient généralement les informations du spectateur, principalement le nom de la version du navigateur et le système d'exploitation utilisé
Accepter : indique au serveur quels formats de fichiers sont acceptables. Habituellement, cette valeur est similaire sur tous les navigateurs.
Cookie : Il en existe deux types : l'un est envoyé par le client au serveur à l'aide de l'en-tête Cookie, qui peut avoir plusieurs valeurs, et l'autre est envoyé par le serveur au navigateur avec l'en-tête Définir le cookie. Il ne peut y avoir qu'une seule valeur, vous devez spécifier le domaine, le chemin
Contrôle du cache : Spécifiez le mécanisme de mise en cache suivi de la demande et de la réponse. La définition du contrôle du cache dans un message de demande ou un message de réponse ne modifie pas le processus de traitement du cache dans un autre message. Les instructions de cache incluent No Cache, No Store, Max Age, Max State, No Transform, Must Revalidate, Proxy Revalidate, MAX Age
Plage de contenu : la plage de ressources de la réponse. La plage de ressources demandée peut être marquée dans chaque requête. Lorsque la connexion est déconnectée et reconnectée, le client demande uniquement la partie non téléchargée de la ressource au lieu de redemander la totalité de la ressource pour implémenter la reprise du point d'arrêt. C'est le principe de Xunlei, qui utilise le multi-threading pour lire les ressources des idiotes sur Internet par sections, et finalement les fusionne
Accepter l'encodage : précise la méthode d'encodage qui peut être reçue
🎜>
En-têtes personnalisés : dans les messages http, vous pouvez également utiliser certains champs d'en-tête qui ne sont pas définis dans les spécifications formelles de http1.1.
Résumé de l'utilisation du protocole HTTP utilisé dans les en-têtes en php
Analyse approfondie du protocole HTTP
Introduction et compréhension approfondie du protocole HTTPCe 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!