-
Notifications
You must be signed in to change notification settings - Fork 1k
Environment variables
IP address of remote WebSocket client.
e.g. 123.123.123.123
Reverse DNS lookup of remote WebSocket client.
e.g. somemachine.someisp.com
.
If the reverse DNS lookup fails, or if --reverselookup=false
is specified on the websocketd
command line, this value will fallback to the same value of REMOTE_ADDR
.
Source port of remote WebSocket client.
e.g. 52696
(Non standard)
The HTTP protocol, as specified by the client.
e.g. HTTP/1.1
The hostname of the server, as specified in the URL.
e.g. www.example.com
The listening port of the server.
e.g. 8080
The HTTP request method. For WebSockets, this is always GET
.
TODO
TODO
TODO
Everything after the ?
in the URL.
e.g. If the requested WebSocket URL is ws://localhost:1234/somedir/myscript.py?name=me&msg=hello%20world
,
then the QUERY_STRING
will be name=me&msg=hello%20world
.
The original request URI, as sent by the WebSocket client. This does not include scheme, host or port.
e.g. If the requested WebSocket URL is ws://localhost:1234/somedir/myscript.py?name=me&msg=hello%20world
,
then the REQUEST_URI
will be /somedir/myscript.py?name=me&msg=hello%20world
.
(Non standard)
The string websocketd/x.x.x.x
, where x.x.x.x
is the version of the websocketd
program.
The string websocketd-CGI/0.1
.
Future enhancements may change the version.
websocketd
does not perform any authentication, so these variables are never set. Programs are responsible
for their own authentication.
Never set by websocketd
.
Never set by websocketd
.
Never set by websocketd
.
WebSockets do not allow a HTTP body to be posted as part of the request, so these variables are never set.
Never set by websocketd
.
Never set by websocketd
.
websocketd
does not support HTTPS, so these variables are never set.
Never set by websocketd
.
Never set by websocketd
.
A unique string associated with each WebSocket connection. It can be used for logging and debugging purposes.
The ID should be treated as an opaque payload. It must be treated as a string, not a number. The implementation may change over time.
The ID is only guaranteed to unique within a single websocketd
process.
e.g. 45462465645449101442
(Non standard)
Per the CGI specification, all HTTP headers will be set as environment variables. The header name will be transformed:
- String converted to upper-case
- Dashes
-
converted to underscores_
- Prefixed with
HTTP_
e.g. If the HTTP header Sec-WebSocket-Version: 13
is present, it shall be made available to the program
using the environment variable HTTP_SEC_WEBSOCKET_VERSION=13
.
Although all HTTP headers are made available, these are some commonly used WebSocket related headers:
The base URL of the origin site that initiated the WebSocket.
e.g. https://github.com/
HTTP Cookies, if present.
e.g. session=1234; prefs=foo
If a custom protocol(s) are specified when calling the JavaScript WebSocket constructor in the browser, these shall be listed here.
e.g. myprotocol, anotherprotocol
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