HTTP와 WebSocket은 둘 다 프로토콜이다.
✅ 우선 HTTP가 무엇인지 살펴보자.
모든 서버들이 작동하는 방식을 http라고 한다. 예를 들어 유저가 request를 보내면 서버가 response로 반응한다. http에서 기억해야 할 중요점은 stateless라는 것인데, 그 말은 즉 백엔드가 유저를 기억하지 못한다는 것이다. 유저와 백엔드 사이에 아무런 연결이 없다. request와 response 과정 뒤에 백엔드는 유저를 잊어버린다. response를 주면 끝나고 그다음 request를 기다리는 것이며 그래야 response를 줄 수 있다.
👇 HTTP에 대해 더 알아보고 싶다면?
[네트워크] HTTP에 대해서
기본적으로 네트워크 통신을 할 때 처음 접하는 게 http 통신이다. 그러므로 이번 기회에 정리를 해보고자 한다! 📌 HTTP Protocol HTTP는 HyperText Transfer protocol의 줄임말로 www상에서 사용하는 프로토
uiop5809.tistory.com
이와 다르게, webSocket을 사용하면 실시간 채팅 같은 실시간을 만들 수 있다. webSocket을 사용해서 연결하고 싶고, 서버가 지원한다면 wss(Secure Web Socket) 해도 되며 http와는 전혀 다른 protocol이다. 다음으로 WebSocket에 대해 살펴보자.
✅ WebSocket이란?
webSocket 연결이 일어날 땐 마치 악수처럼 작동한다. 브라우저가 서버로 webSocket 요청을 보내면, 서버가 받거나 거절을 한다. 이런 악수가 한 번 성립되면, 연결은 성립된다. 연결은 브라우저와 서버가 손을 맞잡고 있는 것처럼 연결되어 있다. 브라우저랑 서버가 서로 커뮤니케이션하는 터널과 같다. 연결돼 있기 때문에 서버는 내가 누구인지 기억할 수 있다. 연결되어 있기 때문에, 원한다면 서버가 유저에게 메시지를 보낼 수 있다. 서버는 요청을 기다리지 않고 응답을 줄 수 있다.
request, response 과정이 필요하지 않고, 응답하는 것이다.
아래의 그림을 살펴보면, 서버는 유저에게 3개의 메세지를 보내고 유저는 다시 1개의 메시지를 보낸다. 그리고 서버는 다시 2개의 메시지를 보낸다. 양방향의 연결이기 때문이다. 서버는 유저에게 메세지를 보낼 수 있고, 유저도 서버에게 메시지를 보낼 수 있다.
'🍞 Computer Science > 네트워크' 카테고리의 다른 글
[CS] 네트워크 총정리 (0) | 2024.07.23 |
---|---|
[네트워크] SocketIO vs WebSockets (0) | 2023.02.02 |
[네트워크] REST와 RESTful API (1) | 2022.10.07 |
[네트워크] HTTP에 대해서 (0) | 2022.10.06 |