recherche
Maisondéveloppement back-endtutoriel phpRésumer les différences entre socket et http

Introduction liée à http

Le protocole HTTP est le protocole de transfert hypertexte (Hypertext Transfer Protocol), qui est la base des réseaux Web et l'un des protocoles couramment utilisés protocoles pour les réseaux de téléphonie mobile 1. Le protocole HTTP est une application basée sur le protocole TCP.

La caractéristique la plus notable des connexions HTTP est que chaque requête envoyée par le client nécessite que le serveur renvoie une réponse une fois la requête terminée, la connexion sera activement libérée. Le processus depuis l’établissement d’une connexion jusqu’à sa fermeture est appelé « une connexion ».

1) En HTTP 1.0, chaque requête du client nécessite l'établissement d'une connexion distincte. Après traitement de cette requête, la connexion est automatiquement libérée.

2) Dans HTTP 1.1, plusieurs requêtes peuvent être traitées en une seule connexion et plusieurs requêtes peuvent se chevaucher. Il n'est pas nécessaire d'attendre la fin d'une requête avant d'envoyer la requête suivante.

Étant donné que HTTP libère activement la connexion après chaque requête, la connexion HTTP est une "connexion courte". Pour maintenir le programme client en ligne, vous devez lancer en permanence des demandes de connexion au serveur. La pratique habituelle est qu'il n'est pas nécessaire d'obtenir des données et que le client continue d'envoyer une requête « rester connecté » au serveur à intervalles réguliers. Le serveur répond au client après avoir reçu la requête, indiquant qu'il connaît le client. " En ligne". Si le serveur ne peut pas recevoir la demande du client pendant une longue période, le client est considéré comme « hors ligne ». Si le client ne peut pas recevoir la réponse du serveur pendant une longue période, le réseau est considéré comme déconnecté.

Que sont TCP/IP et UDP ?

TCP/IP (Transmission Control Protocol/Internet Protocol) est un ensemble de protocoles standards industriels conçus pour les réseaux étendus (WAN).

UDP (User Data Protocol, User Datagram Protocol) est un protocole correspondant à TCP. Il fait partie de la suite de protocoles TCP/IP.

Précédemment présenté ce qu'est socket et certaines de ses fonctions. Socket est la pierre angulaire de la communication et l'unité opérationnelle de base pour la communication réseau qui prend en charge le protocole TCP/IP. Il s'agit d'une représentation abstraite du point final dans le processus de communication réseau et contient cinq types d'informations nécessaires à la communication réseau : le protocole utilisé pour la connexion, l'adresse IP de l'hôte local, le port de protocole du processus local, l'adresse IP de l'hôte distant et le protocole du port du processus distant. Lorsque la couche application communique des données via la couche transport, TCP sera confronté au problème de fournir des services simultanés à plusieurs processus d'application en même temps. Plusieurs connexions TCP ou plusieurs processus d'application peuvent devoir transmettre des données via le même port de protocole TCP. Afin de distinguer les différents processus et connexions d'application, de nombreux systèmes d'exploitation informatiques fournissent des interfaces socket (Socket) permettant aux applications d'interagir avec le protocole TCP/IP. La couche application peut utiliser l'interface Socket avec la couche transport pour distinguer les communications de différents processus d'application ou connexions réseau afin de mettre en œuvre des services simultanés pour la transmission de données. Vous pouvez voir la position de Socket dans l'image ci-dessous :

Résumer les différences entre socket et http


La principale différence entre Http et Socket

Socket réalise la connexion physique entre le serveur et le client et effectue la transmission des données. Il existe deux protocoles principaux : TCP/UDP. Socket se situe au niveau de la couche de transport du protocole réseau.

TCP : Transmission Control Protocol, un protocole orienté connexion, stable et fiable. Avant que le client et le serveur puissent échanger des données entre eux, une connexion TCP doit être établie entre les deux parties avant que les données puissent être transmises.

UDP : La transmission de données en diffusion. UDP n'assure pas la fiabilité. Il envoie uniquement les datagrammes transmis à la couche IP par l'application, mais il n'y a aucune garantie qu'ils puissent atteindre la destination. Étant donné qu'UDP n'a pas besoin d'établir une connexion entre le client et le serveur avant de transmettre le datagramme et qu'il n'existe aucun mécanisme tel qu'une retransmission hors délai, la vitesse de transmission est très rapide.

Avantages :

1. Les données de transmission sont au niveau de l'octet, les données de transmission peuvent être personnalisées et le volume de données est faible. Développement de terminal mobile correspondant, faible coût de téléphonie mobile

2. Temps de transmission de données court, hautes performances

3. Convient à l'interaction d'informations en temps réel entre C/S

4 . Oui Cryptage, haute sécurité des données

Inconvénients :

1. Les données transmises doivent être analysées et converties en données au niveau de l'application

2. .Exigences élevées pour le niveau de développement des développeurs

3. Par rapport à la transmission du protocole HTTP, la quantité de développement est augmentée

Les requêtes HTTP incluent principalement le protocole HTTP, le protocole Soap basé sur le protocole HTTP et les protocoles courants. Les méthodes de requête de données http incluent l'obtention et la publication, le service Web

Avantages :

1. Facile à utiliser basé sur l'interface au niveau de l'application

2. Niveau de développement requis Pas élevé, forte tolérance aux pannes

Inconvénients :

1. Vitesse de transmission lente et paquets de données volumineux.

2. Si une interaction en temps réel est obtenue, les performances du serveur seront soumises à une forte pression

3. La sécurité de la transmission des données est médiocre

Comparaison des scénarios applicables :

Scénarios applicables au socket : jeux en ligne, interaction bancaire, paiement.

Scénarios applicables http : services OA d'entreprise, services Internet.

【Tutoriels associés recommandés】

1. "php.cn Dugu Jiujian (4) - Tutoriel vidéo PHP "

2. ensemble de tutoriels sur la programmation PHP de l'entrée à la maîtrise

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
Quelle est la différence entre les délais de session absolus et inactifs?Quelle est la différence entre les délais de session absolus et inactifs?May 03, 2025 am 12:21 AM

Le délai d'expiration de session absolue commence au moment de la création de session, tandis qu'un délai d'expiration inactif de session démarre au moment de la non-opération de l'utilisateur. Le délai d'expiration de session absolue convient aux scénarios où un contrôle strict du cycle de vie de la session est nécessaire, tels que les applications financières; Le délai d'attente de session inactif convient aux applications qui souhaitent que les utilisateurs maintiennent leur session active pendant longtemps, comme les médias sociaux.

Quelles étapes prenez-vous si les sessions ne fonctionnent pas sur votre serveur?Quelles étapes prenez-vous si les sessions ne fonctionnent pas sur votre serveur?May 03, 2025 am 12:19 AM

La défaillance de la session du serveur peut être résolue en suivant les étapes: 1. Vérifiez la configuration du serveur pour vous assurer que la session est correctement définie. 2. Vérifiez les cookies des clients, confirmez que le navigateur le prend en charge et l'envoyez-le correctement. 3. Vérifiez les services de stockage de session, tels que Redis, pour vous assurer qu'ils fonctionnent normalement. 4. Examiner le code de demande pour assurer la logique de session correcte. Grâce à ces étapes, les problèmes de conversation peuvent être diagnostiqués et réparés efficacement et l'expérience utilisateur peut être améliorée.

Quelle est la signification de la fonction session_start ()?Quelle est la signification de la fonction session_start ()?May 03, 2025 am 12:18 AM

Session_Start () IsCrucialInPhpFormanAgingUsersessions.1) ItinitiateSanEwSessionIfNoneExists, 2) ConsomaSanExistingSession, and3) SetSasessionCooKieforContinuityAcrossrequests, permettant aux applications liées à la réaction et à la personne.

Quelle est l'importance de définir l'indicateur httponly pour les cookies de session?Quelle est l'importance de définir l'indicateur httponly pour les cookies de session?May 03, 2025 am 12:10 AM

La définition de l'indicateur httponly est cruciale pour les cookies de session car il peut effectivement empêcher les attaques XSS et protéger les informations de session utilisateur. Plus précisément, 1) l'indicateur httponly empêche JavaScript d'accéder aux cookies, 2) l'indicateur peut être réglé via Setcookies et Make_Response dans PHP et FLASK, 3) Bien qu'il ne puisse pas être empêché de toutes les attaques, elle devrait faire partie de la politique de sécurité globale.

Quel problème les sessions PHP résolvent-elles dans le développement Web?Quel problème les sessions PHP résolvent-elles dans le développement Web?May 03, 2025 am 12:02 AM

PhpSessionsSsolvetheproblemOf-MainainingStateCrossMultiplehttprequestsByStoringDataontheserverAndassociatingitwithauniquesessionId.1) ils storentaserver, généralement infilesordatabases, et de lasse de lastoredinacookietatevevedata.2)

Quelles données peuvent être stockées dans une session PHP?Quelles données peuvent être stockées dans une session PHP?May 02, 2025 am 12:17 AM

PhpSessionsCanstorestrings, Numbers, Arrays, Andobject.1.Strings: TextDatalikeUserames.2.Numbers: IntegersorFloatsForCounters.3.arrays: listslikeshoppingcarts.4.Objects: complexestructuresthataReSerialized.

Comment démarrez-vous une session PHP?Comment démarrez-vous une session PHP?May 02, 2025 am 12:16 AM

TostartaphpSession, usessession_start () aTTheScript'sbeginning.1) PlaceItBeForeanyOutputToSetTheSessionCooKie.2) USESSIONSFORUSERDATALIKELOGINSTATUSORSHOPPINGSCARS.3) RegegeraSesessionIdStopreventfixationAtTACKS.4)

Qu'est-ce que la régénération des sessions et comment améliore-t-elle la sécurité?Qu'est-ce que la régénération des sessions et comment améliore-t-elle la sécurité?May 02, 2025 am 12:15 AM

La régénération de session fait référence à la génération d'un nouvel ID de session et à l'invalidation de l'ancien ID lorsque l'utilisateur effectue des opérations sensibles en cas d'attaques fixes de session. Les étapes de mise en œuvre incluent: 1. Détectez les opérations sensibles, 2. Générer un nouvel ID de session, 3. Détruiser l'ancien ID de session, 4. Mettre à jour les informations de session côté utilisateur.

See all articles

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

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

MinGW - GNU minimaliste pour Windows

MinGW - GNU minimaliste pour Windows

Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Navigateur d'examen sécurisé

Navigateur d'examen sécurisé

Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.