Maison > développement back-end > Problème PHP > Scénarios d'utilisation de connexion longue et de connexion courte php

Scénarios d'utilisation de connexion longue et de connexion courte php

(*-*)浩
Libérer: 2023-02-23 19:58:01
original
2793 Les gens l'ont consulté

Scénarios d'utilisation de connexion longue et de connexion courte php

Connexion courte

Connecter->Transférer les données->Fermer la connexion

Pour exemple HTTP est un lien court sans état. Chaque fois que le navigateur et le serveur effectuent une opération HTTP, une connexion est établie, mais la connexion est terminée lorsque la tâche est terminée.

Plus précisément, le client du navigateur initie et établit une connexion TCP-> le client envoie un message HttpRequest-> le serveur reçoit le message->handle du serveur et envoie un message HttpResponse au front-end, qui est appelé immédiatement après l'envoi de la méthode socket.close ->le client reçoit le message de réponse->le client finira par recevoir un signal du serveur pour déconnecter la connexion TCP->le client déconnecte la connexion TCP, notamment en appelant la méthode close. (Apprentissage recommandé : Programmation PHP du débutant à compétent)

On peut aussi dire : une connexion courte signifie qu'une fois le SOCKET connecté, la connexion est immédiatement déconnectée après l'envoi et la réception des données.

La connexion étant déconnectée après réception des données, il n'y aura aucun contact à chaque fois que les données seront acceptées et traitées. C'est l'une des raisons pour lesquelles le protocole HTTP est apatride.

Connexion longue

Connecter->Transférer des données->Rester connecté->Transférer des données-> ->Jusqu'à ce qu'une partie ferme la connexion, il est possible que le client ferme la connexion.

Une connexion longue signifie qu'après avoir établi une connexion SOCKET, la connexion sera maintenue, qu'elle soit utilisée ou non, mais la sécurité est mauvaise.

Le choix des liens courts et des connexions longues de HTTP :

Le HTTP est sans état, c'est-à-dire qu'à chaque fois que le navigateur et le serveur effectuent une opération HTTP, une connexion est établie une fois, mais la connexion prend fin lorsque la tâche est terminée. Si une page HTML ou un autre type de page Web accessible par le navigateur client contient d'autres ressources Web, telles que des fichiers JavaScript, des fichiers image, des fichiers CSS, etc., chaque fois que le navigateur rencontre une telle ressource Web, il créera une session HTTP

Par rapport à HTTP1.0, la plus grande différence est l'ajout de la prise en charge des connexions persistantes (il semble que le dernier HTTP1.1 puisse spécifier explicitement le maintien en vie), mais il est toujours sans état ou n'est pas fiable.

Si le navigateur ou le serveur ajoute cette ligne de code Connection:keep-alive

La connexion TCP restera ouverte après l'envoi, le navigateur pourra donc continuer à passer la même connexion pour envoyer une requête . Le maintien des connexions permet d'économiser le temps nécessaire pour établir une nouvelle connexion pour chaque demande et permet également d'économiser de la bande passante.

Pour obtenir de longues connexions, le client et le serveur doivent prendre en charge les connexions longues.

Quand utiliser une connexion longue et une connexion courte ?

Les connexions longues sont principalement utilisées pour les opérations fréquentes, la communication point à point, et le nombre de connexions ne peut pas être trop élevé. Chaque connexion TCP nécessite une poignée de main en trois étapes, ce qui prend du temps. Si chaque opération doit d'abord se connecter puis fonctionner, la vitesse de traitement sera considérablement réduite, donc ne vous déconnectez pas après chaque opération et traitez directement la suivante. Il est possible d'envoyer le paquet de données sans établir de connexion TCP.

Par exemple : la connexion à la base de données utilise une connexion longue. Une communication fréquente avec des connexions courtes entraînera des erreurs de socket, et la création fréquente de sockets est également un gaspillage de ressources.

Les services HTTP comme les sites WEB utilisent généralement des liens courts, car les connexions longues vont consommer une certaine quantité de ressources pour le serveur, et comme les sites WEB, des milliers voire des centaines de millions d'entre eux sont fréquemment utilisés. Utiliser une connexion courte pour la connexion client permettra d'économiser certaines ressources. Si une connexion longue est utilisée et qu'il y a des milliers d'utilisateurs en même temps, il est concevable que chaque utilisateur occupe une connexion. Par conséquent, le degré de concurrence est important, mais chaque utilisateur doit utiliser une connexion courte s'il n'a pas besoin d'opérations fréquentes.

En bref, le choix entre connexion longue et connexion courte dépend de la situation.

Pour les applications dans des réseaux spécifiques :

http 1.0一般就指短连接,smtp,pop3,telnet这种就可以认为是长连接。一般的网络游戏应用都是长连接
Copier après la connexion

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!

Étiquettes associées:
php
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal