http,websocket의 비교
안녕하세요.
강의 잘 듣고 있습니다!
http,websocket의 비교 강의를 듣다가 갑자기 궁금한게 생겼는데요.
http 통신의 경우 요청을 보내는 쪽은 클라이언트로 정해져 있는 것 같은데, 웹 소켓 통신을 위해 클라이언트와 서버가 연결을 맺을 땐 연결 요청 주체는 항상 클라이언트라고 보면 될까요? 반대로 서버가 클라이언트에게 연결 요청을 보낸 후 클라이언트와 웹 소켓 연결이 될 수도 있나요??
답변 2
1
연결이 맺어지면 양방향 통신이 되지만, 구조적으로 서버가 먼저 연결요청을 보낼 수는 없습니다.
연결맺기전까진 서버는 클라이언트의 위치정보를 모르기 때문이죠~!!
1
안녕하세요, 인프런 AI 인턴입니다. 둘리눈알님.
웹소켓과 HTTP 통신 방식에 대해 좋은 질문 주셨습니다. 클라이언트와 서버 간의 연결 주체에 대해 설명드리겠습니다.
HTTP 통신:
- HTTP에서는 클라이언트가 서버에 요청을 보내고, 서버가 이 요청에 대해 응답하는 방식입니다. 클라이언트가 항상 요청의 주체가 되며, 서버는 이 요청에 응답합니다. 이는 단방향 요청/응답 구조입니다.
- HTTP에서는 클라이언트가 서버에 요청을 보내고, 서버가 이 요청에 대해 응답하는 방식입니다. 클라이언트가 항상 요청의 주체가 되며, 서버는 이 요청에 응답합니다. 이는 단방향 요청/응답 구조입니다.
웹소켓 통신:
- 웹소켓은 클라이언트와 서버 간에 상호 작용 가능한 양방향 통신을 제공합니다. 처음 연결을 설정하는 주체는 클라이언트입니다. 즉, 클라이언트가 먼저 서버에 웹소켓 연결을 요청합니다. 연결된 이후에는 양쪽 모두 데이터를 자유롭게 주고받을 수 있지만, 처음 연결을 시작하는 것은 클라이언트입니다.
- 서버가 클라이언트에 연결 요청을 보내는 기능은 표준 웹소켓 프로토콜에서는 지원하지 않으며, 초기 연결단계의 경우 항상 클라이언트가 주체가 됩니다.
- 클라이언트의 요청으로 연결 설정이 완료된 후에는 서버가 클라이언트에게 데이터를 푸시할 수도 있지만, 이 경우도 연결 주체는 클라이언트로 시작됩니다.
- 웹소켓은 클라이언트와 서버 간에 상호 작용 가능한 양방향 통신을 제공합니다. 처음 연결을 설정하는 주체는 클라이언트입니다. 즉, 클라이언트가 먼저 서버에 웹소켓 연결을 요청합니다. 연결된 이후에는 양쪽 모두 데이터를 자유롭게 주고받을 수 있지만, 처음 연결을 시작하는 것은 클라이언트입니다.
이러한 구조에서 이해하셨다면 웹소켓의 강력한 양방향 통신 기능을 충분히 활용하실 수 있을 것 같습니다.
관련 정보를 추가로 보시려면 다음 링크를 참고하세요:
- 웹소켓의 연결 및 통신 방식 이해하기 - 웹소켓 통신의 시작과 양방향 통신에 대한 상세 설명
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
ERD 질문
0
54
2
StompHandler 관한 질문
0
79
2
리프레시 토큰은 알아서 구현하면 되는건가요??
0
79
2
cors, csrf 직접 구현
0
64
1
JWT 필터구현
0
97
2
강의 잘듣고 있습니다. 혹시 다음 강의 계획은 없으신가요?
0
57
1
STOMP 동작 과정 질문
0
48
1
chain.doFilter()
0
45
1
자바 21로 소스 작성해도 되나요?
0
60
2
메시지 브로커 선택에 관한 질문
0
64
2
WebSocket과 Spring Security 질문
0
81
2
추가 커스텀 구현 질문 있습니다.
0
59
2
connect와 동시에 구독하는데 구독 검증이 꼭 필요한가요?
0
97
2
저도 동일한 질문인데
0
78
3
token이 필요한 엔드포인트에 의도적으로 토큰 누락시 대처
0
67
2
수업자료가 왜 다 나눠져있나요?
0
78
2
메시지 전송 시 검증
0
61
2
JWT 생성 시 subject 설정에 대한 질문
0
157
3
StompHandler 질문 있습니다.
0
82
2
앱 서비스일 경우
0
82
2
웹소켓 서버 재배포시 고려해야 할 상황 질문
0
106
2
배포 오류 질문
0
123
2
/connect 경로에 대한 토큰 검증의 필요성
0
77
1
JwtTokenProvider 작성중 오류 발생으로 문의드립니다.
0
95
2





