Postman WebSocket Testing

Standard HTTP follows a request-and-response pattern: the client asks, the server answers, and the conversation ends. WebSocket keeps the connection open so both sides send messages at any moment. Chat apps, live scores, stock tickers, and multiplayer games rely on this style. Postman includes a WebSocket request type for testing it.

The Phone Call Picture

HTTP resembles sending letters. Each letter needs a new envelope, and each reply needs another. WebSocket resembles a phone call. Once the call connects, both people talk freely until one hangs up.

  HTTP (letters)                     WEBSOCKET (phone call)

  Client ──request──► Server         Client ══ connect ══► Server
  Client ◄─response── Server         Client ◄═ message ═══ Server
  (connection closes)                Client ═══ message ══► Server
  Client ──request──► Server         Client ◄═ message ═══ Server
  Client ◄─response── Server         (connection stays open)

Where WebSocket Fits

Use CaseWhy WebSocket Helps
Chat messagingMessages appear instantly for everyone
Live sports scoresThe server pushes updates without polling
Price tickersValues change many times per second
Collaborative editingEdits from one user reach others quickly
Delivery trackingLocation updates stream to the map

URL Format

WebSocket addresses start with ws:// for plain connections and wss:// for encrypted ones. Choose wss:// whenever the server supports it.

Create a WebSocket Request

  1. Click New and choose WebSocket.
  2. Type a server address, such as wss://echo.websocket.org or your own test server.
  3. Add headers or query parameters when the server requires them.
  4. Click Connect.

The status area changes to Connected once the handshake succeeds. Public echo servers come and go, so run a small local echo server when a public one is unavailable.

Send and Receive Messages

  1. Type a message in the Message editor.
  2. Choose the format: Text, JSON, or Binary.
  3. Click Send.

The Messages panel lists every sent and received message in order, with timestamps and arrows that show direction. Click any entry to inspect its full content.

Message Example

Send:
{ "type": "join", "room": "support", "user": "asha" }

Receive:
{ "type": "joined", "room": "support", "members": 4 }

Receive (pushed later by the server):
{ "type": "message", "from": "ravi", "text": "Hello team" }

The third message arrives without any request from Postman. That behavior is the signature of WebSocket.

Use Variables and Saved Messages

Variables work in the URL, headers, and messages: {{wsUrl}} and {{userName}}. Save common messages with the Save option so you can resend a login or ping message with one click.

Connection Lifecycle

  Connect ──► Handshake accepted ──► Open
                                       │
                          send and receive messages
                                       │
                         Disconnect or server closes
                                       │
                                    Closed

The Messages panel records the connect and disconnect events together with the close code, which explains why a connection ended.

Test Scenarios to Try

  • Connect with a valid token and confirm the server accepts the handshake.
  • Connect with an invalid token and confirm the server rejects the connection.
  • Send malformed JSON and confirm the server replies with a clear error message.
  • Send many messages in quick succession and watch for dropped or reordered replies.
  • Leave the connection idle and see whether the server closes it after a timeout.

Common Problems

  • Handshake failed: the URL, path, or authentication header is wrong.
  • Immediate disconnect: the server expects a first message, such as a login.
  • Mixed content blocked: a secure page tried to reach a plain ws:// address.
  • No messages appear: the client skipped a required subscribe message.

Key Points

  • WebSocket keeps one connection open for two-way messaging.
  • Addresses start with ws:// or wss://.
  • Postman records every sent and received message with timestamps.
  • Servers can push messages without a client request.
  • Test authentication, bad input, volume, and idle timeouts.