-
Notifications
You must be signed in to change notification settings - Fork 1k
Variables de entorno
Los servidores WebSocket frecuentemente necesitan recibir información adicional sobre la conexión más allá del simple flujo de mensajes - como por ejemplo el host remoto, página web en la que se encuentra, parámetros de consulta de la URL, cookies, etc.
Para ello se pueden establecer variables de entorno para cada solicitud.
Las variables se ajustan a la Common Gateway Interface (CGI) 1.1 Specification.
Se pueden leer estas variables de entorno directamente o bien utilizar una biblioteca CGI específica de lenguaje de programación usado (e.g. Perl, Python, Ruby).
Sin valor. No se admite en WebSockets.
Sin valor. No se admite en WebSockets.
Sin valor. No se admite en WebSockets.
La cadena websocketd-CGI/0.1
.
Futuras versiones podrían cambiar el número de versión.
Ejemplo:
GATEWAY_INTERFACE=websocketd-CGI/0.1
HTTP Cookies, si está presente.
Ejemplo:
HTTP_COOKIE=session=1234; prefs=foo`
La URL base del sitio "origen" que inicia el servicio WebSocket.
Ejemplo:
HTTP_ORIGIN=https://github.com/
Pendiente.
Pendiente.
Todo lo que está después de ?
en la URL.
Ejemplo: Si se solicita ws://localhost:1234/somedir/myscript.py?name=me&msg=hello%20world
, entonces:
QUERY_STRING=name=me&msg=hello%20world
Dirección IP del cliente WebSocket remoto.
Ejemplo:
REMOTE_ADDR=123.123.123.123
Resolución DNS inversa del cliente WebSocket remoto.
Ejemplo:
REMOTE_HOST=somemachine.someisp.com
Si la resolución inversa fallara, o si --reverselookup=false
es especificada en el comando websocketd
, el valor será el mismo que REMOTE_ADDR
.
Sin valor. No se admite en WebSockets.
Puerto origen del cliente WebSocket.
Ejemplo:
REMOTE_PORT=52696
(No es estándar).
Sin valor. No se admite en WebSockets.
Método de la petición HTTP. Para WebSockets siempre es GET
.
Ejemplo:
REQUEST_METHOD=GET
La URL original tal y como fue enviada por el cliente de WebSocket. Esta no incluye esquema, host o puerto.
Ejemplo: Si la URL de la solicitud es ws://localhost:1234/somedir/myscript.py?name=me&msg=hello%20world
, entonces:
REQUEST_URI=/somedir/myscript.py?name=me&msg=hello%20world
(No es estándar).
Pendiente.
Nombre del servidor especificado en la URL.
Ejemplo:
SERVER_NAME=www.example.com
Puerto donde escuchar el servidor.
Ejemplo:
SERVER_PORT=8080
Protocolo HTTP en uso especificado por el cliente.
Ejemplo:
SERVER_PROTOCOL=HTTP/1.1
la cadena websocketd/x.x.x.x
, donde x.x.x.x
es la versión del programa websocketd
.
Ejemplo:
SERVER_SOFTWARE=websocketd/1.0.0.0
Una única cadena asociada a la conexión WebSocket, útil para "loggin" o depuración.
El ID debe ser tratado de manera opaca, como una cadena, no como un número. La implementación puede cambiar en el futuro.
El ID sólo se garantiza que sea único dentro de un único proceso websocketd
.
Ejemplo:
UNIQUE_ID=45462465645449101442
(Non standard)
Según la especificación CGI, todos los encabezados HTTP se establecerán como variables de entorno. El nombre del encabezado sufrirá las siguientes transformaciones.
- Las cadena serán convertidas a mayúsculas.
- Los guiones
-
serán transformados a guiones bajos_
. - Prefijos con
HTTP_
.
Ejemplo: Si el encabezado HTTP Sec-WebSocket-Version: 13
está presente, entonces:
HTTP_SEC_WEBSOCKET_VERSION=13
The websocketd user guide is a publicly editable wiki. Please contribute!
Getting Started
Reference
Language specific
Advanced: Internals
Spanish Websocket Wiki
Primeros pasos
Referencia
Lenguajes
Avanzado