Maison interface Web tutoriel HTML Comprendre HTTP, HTTPS, SPDY, HTTP2 à la fois

Comprendre HTTP, HTTPS, SPDY, HTTP2 à la fois

Nov 13, 2018 pm 04:20 PM
http https


Le contenu de cet article concerne la compréhension simultanée de HTTP, HTTPS, SPDY et HTTP2. Il a une certaine valeur de référence et est nécessaire. j'espère que cela vous sera utile.

Comprendre HTTP, HTTPS, SPDY, HTTP2 à la fois

En tant que vétéran des protocoles de communication Internet, le protocole HTTP a connu aujourd'hui trois changements de version. La dernière version est HTTP2.0, que je pense que tout le monde connaît. . Aujourd'hui, je vais vous donner une bonne introduction au passé et au présent de HTTP.

HTTP/0.9

La première version de HTTP est née en 1991. Cette première version est extrêmement simple par rapport à aujourd'hui, sans en-tête HTTP, sans code d'état, et même version Il n'y avait pas de numéro, et plus tard son numéro de version a été fixé à 0,9 pour le distinguer des autres versions de HTTP. HTTP/0.9 ne prend en charge qu'une seule méthode : Get, et la requête ne comporte qu'une seule ligne.

GET /hello.html
La réponse est également très simple et ne contient que le document html lui-même.

<HTML>
Hello world
</HTML>
Copier après la connexion

Lorsque la connexion TCP est établie, le serveur renvoie une chaîne au format HTML au client. Après l'envoi, fermez la connexion TCP. Puisqu'il n'y a pas de codes d'état ni de codes d'erreur, si une erreur se produit pendant le traitement du serveur, seul un fichier HTML spécial contenant des informations de description du problème sera renvoyé. Il s'agit de la première version de HTTP/0.9.

HTTP/1.0

En 1996, la version HTTP/1.0 a été publiée, ce qui a considérablement enrichi le contenu de transmission de HTTP. En plus du texte, vous pouvez également envoyer des images. , vidéos, etc. Cela a jeté les bases du développement d’Internet. Par rapport à HTTP/0.9, HTTP/1.0 présente principalement les fonctionnalités suivantes :

Les requêtes et réponses prennent en charge les en-têtes HTTP, des codes d'état sont ajoutés et le début de l'objet de réponse est une ligne d'état de réponse

Version du protocole Les informations doivent être envoyées avec la requête, prenant en charge les méthodes HEAD et POST

Prend en charge la transmission d'autres types de contenu en plus des fichiers HTML

Une requête HTTP/1.0 typique ressemble à ceci :

GET /hello.html HTTP/1.0
User-Agent:NCSA_Mosaic/2.0(Windows3.1)
200 OK
Date: Tue, 15 Nov 1996 08:12:31 GMT
Server: CERN/3.0 libwww/2.17
Content-Type: text/html
<HTML>
一个包含图片的页面
<img  src="/static/imghw/default1.png"  data-src="/smile.gif"  class="lazy" alt="Comprendre HTTP, HTTPS, SPDY, HTTP2 à la fois" >
</HTML>
Copier après la connexion

HTTP/1.1


HTTP/1.1 est sorti quelques mois après HTTP/1.0. HTTP/1.1 est plutôt une amélioration par rapport à HTTP/1.0. Dans HTTP1.1, il présente principalement les améliorations suivantes :

Peut réutiliser les connexions

Ajouter un pipeline : le pipeline HTTP est une technologie qui soumet plusieurs requêtes HTTP par lots sans attendre une réponse du serveur pendant la transmission. Le mécanisme de pipeline doit être complété via une connexion persistante. La soumission groupée de requêtes HTTP par le navigateur peut réduire considérablement le temps de chargement des pages, en particulier lorsque le délai de transmission (décalage/latence) est élevé. Une chose à noter est que seules les requêtes idempotentes peuvent utiliser le pipeline, comme les méthodes GET et HEAD.

transmission par codage en morceaux : Cet encodage transmet l'entité en morceaux et indique la longueur bloc par bloc jusqu'à ce que la longueur soit de 0 blocs indiquant la fin de la transmission. Ceci est particulièrement utile lorsque la longueur de l'entité est inconnue ( telles que les données générées dynamiquement par la base de données)

Introduit davantage de mécanismes de contrôle de cache : tels que etag, cache-control

Introduit un mécanisme de négociation de contenu, y compris la langue, l'encodage, le type, etc., et permet au client et au serveur de se mettre d'accord sur le contenu échangé le plus approprié

Les messages de requête et les messages de réponse prennent en charge le champ d'en-tête Host : dans HTTP1.0, chaque serveur est considéré comme lié à une adresse IP unique , par conséquent, l'URL dans le message de demande ne transmet pas le nom d'hôte (hostname). Cependant, avec le développement de la technologie des hôtes virtuels, plusieurs hôtes virtuels (serveurs Web multi-résidents) peuvent exister sur un serveur physique et partager une adresse IP. Par conséquent, l’introduction de l’en-tête Host est nécessaire.

Nouvelles méthodes OPTIONS, PUT, DELETE, TRACE, CONNECT

Bien que HTTP/1.1 ait été optimisé sur de nombreux points, en tant que version de protocole la plus utilisée, il peut déjà satisfaire de nombreux réseaux. Cependant, à mesure que les pages web deviennent de plus en plus complexes, et évoluent même vers des applications indépendantes, HTTP/1.1 expose progressivement quelques problèmes :

Lors de la transmission de données, la connexion doit être rétablie à chaque fois, ce qui est le cas du terminal mobile. particulièrement hostile

Le contenu de la transmission est en texte brut, ce qui n'est pas assez sécurisé

Le contenu de l'en-tête est trop volumineux et l'en-tête ne change pas beaucoup à chaque requête, provoquant du gaspillage

keep-alive for service exerce une pression sur les performances du client

Afin de résoudre ces problèmes, HTTPS et SPDY ont vu le jour.

SPDY

En fait, SPDY n'est pas un nouveau protocole, mais une couche de session construite avant HTTP.

De 2010 à 2015, Google a démontré une manière alternative d'échanger des données entre le client et le serveur en implémentant un protocole expérimental SPDY. Il rassemble l'attention des développeurs côté navigateur et côté serveur, clarifie l'augmentation du volume de réponses et résout la complexité du transfert de données. L'objectif par défaut au démarrage du projet SPDY était :

Réduire le temps de chargement des pages (PLT) de 50%.

Pas besoin pour l'auteur du site de modifier quoi que ce soit.

Réduisez la complexité du déploiement sans modifier l’infrastructure réseau.

Travailler avec la communauté open source pour développer ce nouveau protocole.

Collectez des données de performances réelles pour vérifier si ce protocole expérimental fonctionne.

Pour atteindre l'objectif de réduire les temps de chargement des pages, SPDY introduit une nouvelle couche de données de cadrage binaire pour permettre des requêtes et des réponses multidirectionnelles, prioriser, minimiser et éliminer les retards réseau inutiles, dans le but de faire une utilisation plus efficace du TCP sous-jacent. relations.

HTTP/2.0

En 2015, HTTP/2.0 est sorti. Présentons d'abord les caractéristiques de HTTP/2.0 :

Utiliser une couche de cadrage binaire : ajoutez une couche de cadrage binaire entre la couche application et la couche de transport pour obtenir la méthode HTTP sans changer la sémantique de HTTP, le code d'état, Les champs d'URI et d'en-tête dépassent les limitations de performances de HTTP1.1, améliorent les performances de transmission et atteignent une faible latence et un débit élevé. Au niveau de la couche de tramage binaire, HTTP2.0 divisera toutes les informations transmises en messages et trames plus petits et les encodera au format binaire. Les informations d'en-tête de HTTP1.x seront encapsulées dans la trame d'en-têtes, et le corps de la demande sera encapsulé dans. la trame de données.

Binary Framing

Multiplexage : Pour HTTP/1.x, même si une longue connexion est activée, la requête est envoyée en série lorsque la bande passante est suffisante, le taux d'utilisation de la bande passante ne l'est pas. C'est suffisant. HTTP/2.0 adopte une méthode de multiplexage, qui peut envoyer plusieurs requêtes en parallèle pour améliorer le taux d'utilisation de la bande passante.

Multiplexage

Priorité du flux de données : étant donné que les requêtes peuvent être envoyées simultanément, si le navigateur attend que les fichiers CSS ou JS clés terminent le rendu de la page, le serveur Que dois-je faire si je je me concentre sur l'envoi de ressources d'images ? HTTP/2.0 peut définir une valeur de priorité pour les flux de données. Cette valeur de priorité détermine les différentes stratégies de priorité utilisées par le client et le serveur pour traiter différents flux.

Push côté serveur : dans HTTP/2.0, le serveur peut envoyer du contenu autre que la demande au client. Par exemple, lorsqu'une page est demandée, le serveur envoie le logo CSS associé à la page. et d'autres fichiers directement au client, au lieu d'attendre que la demande arrive avant de l'envoyer, car le serveur pense que le client utilisera ces éléments. Cela équivaut à rassembler toutes les ressources dans un seul document HTML.

Compression d'en-tête : utilisez la table d'en-tête pour suivre et stocker les paires clé-valeur précédemment envoyées. Pour le même contenu, il ne sera pas envoyé dans chaque requête et réponse.

Ce qui précède est une introduction complète à la compréhension simultanée de HTTP, HTTPS, SPDY et HTTP2. Si vous souhaitez en savoir plus sur le Tutoriel HTML5, veuillez faire attention au site Web PHP chinois.



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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Que signifie le code d'état http 520 ? Que signifie le code d'état http 520 ? Oct 13, 2023 pm 03:11 PM

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.

Qu'est-ce que le code d'état http 403 ? Qu'est-ce que le code d'état http 403 ? Oct 07, 2023 pm 02:04 PM

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.

Comment utiliser Nginx Proxy Manager pour implémenter un proxy inverse sous le protocole HTTPS Comment utiliser Nginx Proxy Manager pour implémenter un proxy inverse sous le protocole HTTPS Sep 26, 2023 am 08:40 AM

Comment utiliser NginxProxyManager pour implémenter un proxy inverse sous protocole HTTPS Ces dernières années, avec la popularité d'Internet et la diversification des scénarios d'application, les méthodes d'accès aux sites Web et aux applications sont devenues de plus en plus complexes. Afin d'améliorer l'efficacité et la sécurité de l'accès aux sites Web, de nombreux sites Web ont commencé à utiliser des proxys inverses pour traiter les demandes des utilisateurs. Le proxy inverse du protocole HTTPS joue un rôle important dans la protection de la confidentialité des utilisateurs et dans la sécurité des communications. Cet article expliquera comment utiliser NginxProxy

Comprendre les scénarios d'application courants de redirection de pages Web et comprendre le code d'état HTTP 301 Comprendre les scénarios d'application courants de redirection de pages Web et comprendre le code d'état HTTP 301 Feb 18, 2024 pm 08:41 PM

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 Nginx Proxy Manager pour implémenter le saut automatique de HTTP à HTTPS Comment utiliser Nginx Proxy Manager pour implémenter le saut automatique de HTTP à HTTPS Sep 26, 2023 am 11:19 AM

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

HTTP 200 OK : comprendre la signification et le but d'une réponse réussie HTTP 200 OK : comprendre la signification et le but d'une réponse réussie Dec 26, 2023 am 10:25 AM

Code d'état HTTP 200 : explorez la signification et l'utilisation des réponses réussies Les codes d'état HTTP sont des codes numériques utilisés pour indiquer l'état de la réponse d'un serveur. Parmi eux, le code d'état 200 indique que la demande a été traitée avec succès par le serveur. Cet article explorera la signification spécifique et l'utilisation du code d'état HTTP 200. Tout d’abord, comprenons la classification des codes d’état HTTP. Les codes d'état sont divisés en cinq catégories, à savoir 1xx, 2xx, 3xx, 4xx et 5xx. Parmi eux, 2xx indique une réponse réussie. Et 200 est le code d'état le plus courant dans 2xx

Application rapide : analyse de cas de développement pratique du téléchargement HTTP asynchrone PHP de plusieurs fichiers Application rapide : analyse de cas de développement pratique du téléchargement HTTP asynchrone PHP de plusieurs fichiers Sep 12, 2023 pm 01:15 PM

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.

Problèmes et solutions courants en matière de communication et de sécurité réseau en C# Problèmes et solutions courants en matière de communication et de sécurité réseau en C# Oct 09, 2023 pm 09:21 PM

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

See all articles