Maison  >  Article  >  interface Web  >  Connexion persistante HTTP et pipeline

Connexion persistante HTTP et pipeline

yulia
yuliaoriginal
2018-09-08 17:45:002179parcourir

1. Qu'est-ce qu'une connexion persistante ? (mode Keep Alive)
HTTP 1.1 stipule que la connexion par défaut est de conserver une connexion longue (connexion persistante HTTP, également traduite par connexion persistante une fois la transmission des données terminée, la connexion TCP n'est pas déconnectée (); aucun paquet RST n'est envoyé, pas de prise de contact à quatre reprises), en attendant de continuer à utiliser ce canal pour transmettre des données sous le même nom de domaine, l'inverse est une connexion courte ;

La version HTTP 1.1 prend en charge les connexions persistantes mais la version 1.0 ne prend pas en charge
Différences par rapport aux connexions non persistantes :
Les connexions persistantes permettent à la connexion client-serveur de rester valide, évitant ainsi d'avoir à refaire -établir la connexion
Réduit considérablement les délais d'établissement et de fermeture de la connexion. Les connexions HTTP sont basées sur le protocole TCP. L'établissement d'une connexion TCP nécessite trois poignées de main et la fermeture de la connexion TCP nécessite quatre vagues. Tout cela prend du temps.

2. Qu'est-ce qui est pipelined
Le mécanisme pipelined doit être complété via une connexion persistante Seul HTTP/1.1 prend en charge cette technologie (HTTP/1.0 ne la prend pas en charge). )
Dans le cas de l'utilisation de connexions persistantes, la délivrance d'un certain message de connexion est similaire à
Demande 1 -> Réponse 1 -> Demande 2 -> Réponse 2
Pipeline : sur un certain connexion Le message devient quelque chose comme ceci
Requête 1 -> Requête 2 -> Réponse 1 -> Réponse 2 -> 🎜>

a. La différence entre les connexions persistantes et les connexions pipeline est que l'un des inconvénients des connexions persistantes est que les requêtes et les réponses sont exécutées séquentiellement. La requête 2 ne sera envoyée qu'après réception de la réponse à la requête 1. et le traitement du pipeline n'a pas besoin d'attendre la réponse de la demande précédente pour passer à la demande suivante. Implémentez l’envoi de requêtes en parallèle. b. Seules les exigences GET et HEAD peuvent être pipelined, tandis que POST est restreint

c Le mécanisme de pipeline ne doit pas être démarré lorsque la connexion est créée pour la première fois, car l'autre partie. (server ) ne prend pas nécessairement en charge la version HTTP/1.1 du protocole


d. HTTP1.1 nécessite que le serveur prenne en charge le traitement en pipeline, mais il n'exige pas que le serveur pipeline également la réponse. que les requêtes pipeline ne soient pas traitées, et de nombreux programmes côté serveur et agents ne disposent actuellement pas d'une bonne prise en charge des pipelines. Les navigateurs modernes Chrome et Firefox n'activent pas la prise en charge des pipelines par défaut.

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:
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