Maison  >  Article  >  développement back-end  >  Résumer les différences entre socket et http

Résumer les différences entre socket et http

伊谢尔伦
伊谢尔伦original
2017-05-23 10:38:127567parcourir

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