Titre : Les principes de mise en œuvre sous-jacents et les avantages de la connexion longue HTTP et du multiplexage HTTP/2 de Nginx
Résumé :
Nginx est un serveur Web et un serveur proxy inverse hautes performances, qui utilise... une connexion longue HTTP et le multiplexage HTTP/2 technologies pour améliorer les performances et l’efficacité. Cet article analysera les principes de mise en œuvre sous-jacents des connexions longues HTTP et du multiplexage HTTP/2 de Nginx, et montrera des exemples de code pertinents.
1. Le principe sous-jacent de mise en œuvre de la connexion HTTP longue
1.1 Qu'est-ce qu'une connexion HTTP longue ? La connexion HTTP longue fait référence à l'établissement d'une connexion TCP persistante entre le client et le serveur. Plusieurs requêtes et réponses HTTP peuvent être transmises en un seul TCP. connection , évitant ainsi les frais généraux liés à la création et à la fermeture fréquentes de connexions.
Nginx implémente la connexion HTTP longue en définissant le champ "Connexion" de l'en-tête HTTP sur "keep-alive". Lorsque le client envoie une requête HTTP avec l'en-tête "Connection: keep-alive", Nginx maintiendra également la connexion ouverte dans la réponse jusqu'à un certain temps ou jusqu'à ce que la limite supérieure du nombre de requêtes soit atteinte avant de fermer la connexion.
http { keepalive_timeout 65; keepalive_requests 100; server { listen 80; server_name example.com; location / { proxy_pass http://backend; proxy_set_header Connection "keep-alive"; } } }
2.1 Qu'est-ce que le multiplexage HTTP/2
HTTP/ 2Le multiplexage fait référence à la transmission simultanée de plusieurs requêtes et réponses HTTP sur une seule connexion TCP, évitant ainsi le problème de blocage de tête de ligne dans HTTP/1.x.
Nginx implémente le multiplexage HTTP/2 en utilisant les concepts de trames et de flux binaires. Dans une connexion TCP, chaque requête HTTP se voit attribuer un identifiant de flux unique et est transmise en trames. Nginx peut gérer plusieurs flux simultanément sans attendre le retour de la réponse de la requête précédente.
http { listen 443 http2; server_name example.com; location / { proxy_pass http://backend; proxy_http_version 2.0; } }
La connexion longue HTTP de Nginx et les technologies de multiplexage HTTP/2 sont toutes deux conçues pour améliorer les performances du serveur. Conçues pour l'efficacité. Les connexions HTTP longues réduisent la surcharge d'établissement et de fermeture de connexion et améliorent les capacités de traitement simultané du serveur ; le multiplexage HTTP/2 résout le problème de blocage de tête de ligne de HTTP/1.x, améliore l'efficacité de la transmission et réduit le gaspillage de ressources. Une utilisation appropriée de ces technologies peut permettre aux applications Web de répondre plus rapidement aux demandes des clients et d'améliorer l'expérience utilisateur.
Matériaux de référence :
Documentation officielle Nginx : https://nginx.org/
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!