J’ai lu sur les WebSockets et je me demande pourquoi le navigateur ne pouvait pas simplement ouvrir connexion triviale de TCP et communiquer avec le serveur à toute autre application bureautique. Et pourquoi cette communication n’est possible par l’intermédiaire de websockets ?
Réponses
Trop de publicités?Il est plus facile de communiquer via des sockets TCP lorsque vous travaillez au sein d'un intranet de limite, car il est probable que vous avez le contrôle sur les machines sur le réseau et peuvent ouvrir les ports appropriés pour la fabrication de connexions TCP.
Sur internet, vous êtes en communication avec quelqu'un d'autre serveur à l'autre extrémité. Ils sont très peu susceptibles d'avoir des vieux support ouvert pour les connexions. Habituellement, ils ont seulement un peu de la norme, tels que le port 80 pour HTTP ou 443 pour HTTPS. Ainsi, pour communiquer avec le serveur, vous êtes obligé de vous connecter à l'aide de l'un de ces ports.
Étant donné que ce sont les ports standard pour les serveurs web qui parlent généralement l'adresse HTTP, vous êtes donc obligé de se conformer au protocole HTTP, sinon le serveur ne vous parleront pas. Le but de sockets web est de vous permettre d'établir une connexion via HTTP, mais ensuite négocier à utiliser les web sockets protocole (en supposant que le serveur est capable de le faire) afin de permettre à un plus "socket TCP"-comme le flux de communication.
Navigateurs Web fonctionnent à la couche Application, alors que TCP fonctionne à la couche de Transport. Comme un développeur d’applications web, il est plus facile d’envoyer des messages via le réseau, donc la couche applicative, octets pas crus à la couche de Transport.
Qui sous-tendent les WebSockets est TCP, est tirée de suite pour plus de simplicité.