Partage de technologie

La différence entre HTTP1.0 et HTTP1.1

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

connexion persistante

HTTP/1.1Les connexions persistantes sont prises en charge par défaut, ce qui permet d'envoyer plusieurs requêtes et réponses HTTP sur une connexion TCP, réduisant ainsi la surcharge d'établissement et de fermeture de la connexion.

etHTTP/1.0La valeur par défaut est une connexion courte. Chaque requête doit établir une connexion TCP. Vous pouvez la transmettre.Connection: keep-aliveen-tête pour implémenter des connexions persistantes.Connection: keep-alive Le but de est d'indiquer au serveur et au client que la connexion TCP entre eux doit être maintenue active afin qu'elle puisse être réutilisée, plutôt que d'être fermée immédiatement après l'envoi d'une réponse. Cette fonctionnalité a été introduite dans HTTP/1.0 et est devenue le comportement par défaut dans HTTP/1.1.

Pipeline

HTTP/1.1Prend en charge le pipeline (non activé par défaut), permettant au client d'envoyer plusieurs requêtes avant l'arrivée de la réponse à la première requête, ce qui peut réduire le temps d'attente et améliorer l'efficacité.

HTTP/1.0 ne prend pas en charge le pipeline.

contrôle du cache

HTTP1.0Principalement utiliséIf-Modified-Since/Expirescomme critère de mise en cache du jugement

HTTP1.1D'autres stratégies de contrôle du cache sont introduites, telles queEtag / If-None-MatchAttendez d'autres en-têtes de cache facultatifs pour contrôler la stratégie de cache.

La gestion des erreurs:

HTTP/1.1Ajout de nouveaux codes d'état HTTP, tels que100 Continue, utilisé pour améliorer la gestion des erreurs et les réponses intermédiaires aux demandes.

Après avoir reçu la réponse 100 Continue, le client doit continuer à envoyer le corps de la demande.Si le serveur reçoit un message contenantExpect: 100-continueAprès avoir décidé de ne pas poursuivre le traitement de la demande (par exemple, si les informations d'en-tête de la demande indiquent que la demande ne peut pas être acceptée), le serveur doit renvoyer un code d'état d'erreur (tel que 400 Bad Request) au lieu de 100 Continue.

Hosttête:

HTTP/1.1introduitHost en-tête qui permet au client de spécifier le nom d'hôte demandé, permettant ainsi d'héberger plusieurs noms de domaine sur le même serveur. Chaque nom de domaine peut être mappé à une ressource ou un service différent sur le serveur. HTTP/1.0 n'a pas ce champ d'en-tête.

Optimisation de la bande passante :

HTTP1.0, il existe certains phénomènes de gaspillage de bande passante. Par exemple, le client n'a besoin que d'une partie d'un objet, mais le serveur envoie l'intégralité de l'objet et ne prend pas en charge la fonction de reprise.HTTP1.1est introduit dans l'en-tête de la requêterangechamp d'en-tête, qui permet de demander uniquement une certaine partie de la ressource, c'est-à-dire que le code de retour est206(Partial Content)