TsgcWebSocketClient | WebSocket Redirections

클라이언트가 WebSocket 서버에 연결하면, 서버는 HTTP Response Code 30x를 반환할 수 있습니다. 응답 코드가 301이면 위치가 영구적으로 이동되었음을 의미하며, 새 URL이 Location HTTP Header에 제공됩니다.

 

WebSocket 클라이언트는 리디렉션을 자동으로 처리하므로, 서버 응답에 리디렉션이 포함되어 있음을 감지하면 현재 연결을 끊고 새 Location URL에 연결을 시도합니다.

 

예제

  1. 클라이언트는 먼저 url ws://127.0.0.1:5000에 연결하려고 시도합니다
  2. 서버는 301의 Response Code를 반환하며 ws://80.50.1.2:3000 값을 가진 Header Location을 포함합니다
  3. 클라이언트는 서버로부터 Response를 읽고, 리디렉션임을 감지하고 Location을 읽습니다
    1. 먼저 현재 연결을 끊습니다.
    2. Location Header의 값(ws://80.50.1.2:3000)으로 URL 속성을 업데이트합니다
    3. 새 서버에 연결합니다.