room/ <room_id>/ | |
room/ <room_id>/ vote | |
클라이언트는 Room에 접속할 수 있다.
클라이언트는 서버에게 메시지를 전달할 수 있다.
클라이언트는 Room에 접속한 동안, 서버로부터 메시지를 전달받을 수 있다.
서버는 최초 HTTP 연결 요청에서 Request URL을 통해 접속할 Room을 식별할 수 있다.
세션: 서버는 최초 HTTP 연결 요청에서 클라이언트에게 할당된 Session ID를 제공한다.
JWT: 서버는 전달된 토큰으로부터 클라이언트 ID를 식별할 수 있다.
토큰은 앱과 서버가 통신 및 인증할때 가장 많이 사용된다.
왜냐하면 웹에는 쿠키와 세션이 있지만 앱에서는 없기 때문이다.
서버는 클라이언트로부터 전달받은 메시지를, 해당 유저가 접속한 Room에 대해 브로드캐스팅 할 수 있다.
서버는 모든 요청결과를 다음과 같은 정보를 담아 DB에 저장한다.
프로토콜 | http / ws |
---|---|
URN | path / roomID |
유저ID | sessionID / JWT |
행동 | connect(http), send(ws) |
결과 | statusCode (1000-) |