Skip to content

Commit 58d5b3f

Browse files
authored
Merge pull request #634 from javascript-tutorial/joaquinelio-patch-1
Update article.md
2 parents 73492d8 + bcba14b commit 58d5b3f

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

5-network/11-websocket/article.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ También hay una versión encriptada `wss://`. Equivale al HTTPS para los websoc
1717
```smart header="Siempre dé preferencia a `wss://`"
1818
El protocolo `wss://` no solamente está encriptado, también es más confiable.
1919

20-
Esto es porque los datos en `ws://` no están encriptados y son visibles para cualquier intermediario. Entonces los servidores proxy viejos que no conocen el WebSocket podrían interpretar los datos como cabeceras "extrañas" y abortar la conexión.
20+
Esto es porque los datos en `ws://` no están encriptados y son visibles para cualquier intermediario. Entonces los servidores proxy viejos que no reconocen el protocolo WebSocket podrían interpretar los datos como cabeceras "extrañas" y abortar la conexión.
2121

22-
En cambio `wss://` es WebSocket sobre TLS (al igual que HTTPS es HTTP sobre TLS), la seguridad de la capa de transporte encripta los datos del que envía y los desencripta para el que recibe. Los paquetes de datos pasan encriptados a través de los proxy. Estos servidores no pueden ver lo que hay dentro y los dejan pasar.
22+
En cambio `wss://` es WebSocket sobre TLS (al igual que HTTPS es HTTP sobre TLS), la seguridad de la capa de transporte encripta los datos del que envía y los desencripta el que recibe. Los paquetes de datos pasan encriptados a través de los proxy. Estos servidores no pueden ver lo que hay dentro y los dejan pasar.
2323
```
2424
2525
Una vez que el socket es creado, debemos escuchar los eventos que ocurren en él. Hay en total 4 eventos:
@@ -60,7 +60,7 @@ socket.onerror = function(error) {
6060
};
6161
```
6262

63-
Para propósitos de demostración, hay un pequeño servidor [server.js](demo/server.js), escrito en Node.js, ejecutándose para el ejemplo de arriba. Este responde con "Hello from server, John", espera 5 segundos, y cierra la conexión.
63+
Para propósitos de demostración, tenemos un pequeño servidor [server.js](demo/server.js), escrito en Node.js, ejecutándose para el ejemplo de arriba. Este responde con "Hello from server, John", espera 5 segundos, y cierra la conexión.
6464

6565
Entonces verás los eventos `open` -> `message` -> `close`.
6666

@@ -72,7 +72,7 @@ Ahora hablemos más en profundidad.
7272

7373
Cuando se crea `new WebSocket(url)`, comienza la conexión de inmediato.
7474

75-
Durante la conexión, el navegador (usando cabeceras "header") le pregunta al servidor: "¿Soportas Websockets?" y si si el servidor responde "Sí", la comunicación continúa en el protocolo WebSocket, que no es HTTP en absoluto.
75+
Durante la conexión, el navegador (usando cabeceras o "header") le pregunta al servidor: "¿Soportas Websockets?" y si si el servidor responde "Sí", la comunicación continúa en el protocolo WebSocket, que no es HTTP en absoluto.
7676

7777
![](websocket-handshake.svg)
7878

@@ -119,9 +119,9 @@ Por ejemplo:
119119

120120
- `Sec-WebSocket-Extensions: deflate-frame` significa que el navegador soporta compresión de datos. una extensión es algo relacionado a la transferencia de datos, funcionalidad que extiende el protocolo WebSocket. La cabecera `Sec-WebSocket-Extensions` es enviada automáticamente por el navegador, con la lista de todas las extensiones que soporta.
121121

122-
- `Sec-WebSocket-Protocol: soap, wamp` significa que queremos transferir no cualquier dato, sino datos en protocolos [SOAP](https://es.wikipedia.org/wiki/Simple_Object_Access_Protocol) o WAMP ("The WebSocket Application Messaging Protocol"). Los subprotocolos de WebSocket están registrados en el [catálogo IANA](http://www.iana.org/assignments/websocket/websocket.xml). Entonces, esta cabecera describe los formatos de datos que vamos a usar.
122+
- `Sec-WebSocket-Protocol: soap, wamp` significa que queremos transferir no cualquier dato, sino datos en protocolos [SOAP](https://es.wikipedia.org/wiki/Simple_Object_Access_Protocol) o WAMP ("The WebSocket Application Messaging Protocol"). Los subprotocolos de WebSocket están registrados en el [catálogo IANA](https://www.iana.org/assignments/websocket/websocket.xml). Entonces, esta cabecera describe los formatos de datos que vamos a usar.
123123

124-
Esta cabecera opcional se establece usando el segundo parámetro de `new WebSocket`, que es el array de subprotocolos. Por ejemplo si queremos usar SOAP o WAMP:
124+
Esta cabecera opcional se establece usando el segundo parámetro de `new WebSocket`, que es el array de subprotocolos. Por ejemplo, si queremos usar SOAP o WAMP:
125125

126126
```js
127127
let socket = new WebSocket("wss://javascript.info/chat", ["soap", "wamp"]);
@@ -167,7 +167,7 @@ La comunicación WebSocket consiste de "frames" (cuadros) de fragmentos de datos
167167
- "text frames" -- contiene datos de texto que las partes se mandan entre sí.
168168
- "binary data frames" -- contiene datos binarios que las partes se mandan entre sí.
169169
- "ping/pong frames" son usados para testear la conexión; enviados desde el servidor, el navegador responde automáticamente.
170-
- También existe "connection close frame" y otros pocos frames de servicio.
170+
- También existe "connection close frame", y algunos otros frames de servicio.
171171
172172
En el navegador, trabajamos directamente solamente con frames de texto y binarios.
173173
@@ -249,7 +249,7 @@ Hay otros códigos como:
249249

250250
La lista completa puede encontrarse en [RFC6455, §7.4.1](https://tools.ietf.org/html/rfc6455#section-7.4.1).
251251

252-
Los códigos de WebSocket son como los de HTTP, pero diferentes. En particular, los menores a `1000` son reservados, habrá un error si tratamos de establecerlos.
252+
Los códigos de WebSocket son como los de HTTP pero diferentes. En particular, los códigos menores a `1000` son reservados, habrá un error si tratamos de establecerlos.
253253

254254
```js
255255
// en caso de conexión que se rompe
@@ -316,7 +316,7 @@ socket.onmessage = function(event) {
316316
}
317317
```
318318

319-
El código de servidor está algo fuera de nuestro objetivo. Aquí usaremos Node.js, pero no necesitas hacerlo. Otras plataformas también tienen sus formas de trabajar con WebSocket.
319+
El código de servidor está fuera de nuestro objetivo. Aquí usaremos Node.js pero no necesitas hacerlo. Otras plataformas también tienen sus formas de trabajar con WebSocket.
320320

321321
El algoritmo de lado de servidor será:
322322

0 commit comments

Comments
 (0)