WebSocket
#仕様
TCP/TLS上で動作する通信プロトコル
Nostrにおいてはクライアントとリレー間の通信に使われています
基本的には既存のHTTP/HTTPS接続から Upgradeヘッダーを使って切り替えることで接続できる
HTTPと比べて
実装者の自由度が高い
サーバからクライアントに対して情報を送れる(双方向通信)
URLの種類
wss://
TLSで暗号化された通信を利用することを示す
ws://
暗号化されていない通信を行うことを示す
仕様
RFC 6455: WebSocket Protocol
https://www.rfc-editor.org/rfc/rfc6455
日本語訳: https://triple-underscore.github.io/RFC6455-ja.html
RFC 7936: Clarifying Registry Procedures for the WebSocket Subprotocol Name Registry
https://www.rfc-editor.org/rfc/rfc7936
RFC 8307: Well-Known URIs for the WebSocket Protocol
https://www.rfc-editor.org/rfc/rfc8307
RFC 8441: Bootstrapping WebSockets with HTTP/2
https://www.rfc-editor.org/rfc/rfc8441
参考
NostrをMacのターミナルでWebSocket直接でプロトコルのやり取りする方法
https://kappaseijin.hatenablog.com/entry/2023/02/10/212745
WebSocket についてまとめてみる
https://qiita.com/att55/items/da663f6e713c3bd073e8