http 와 websocket

2021. 3. 24. 18:20카테고리 없음

http 통신은 stateless 방식.

client가 요청을 보내고 server가 응답하는 한 싸이클이 끝나면 서로 연결이 끊긴다.

서버는 유저를 기억하지 않음. 서버가 유저를 기억하려면 쿠키를 보내야 함.

 

websocket은 stateful 하다.

http와 같이 새로운 연결을 만들 필요가 없다.

ws를 사용하는 서버는 서버가 유저를 기억하고 있음. 한 번 연결되면 연결을 끊지 않고 유지됨.

서버에 보다 많은 메모리를 요구하게 됨. 서버가 각각의 유저(session)를 기억하고 있어야 하기 때문.

 

->http 서버 위에 websocket 서버를 올려서 사용.

traffic이 다르기 때문에 같은 포트에서 작업. 같은 포트에서 2개의 서버를 돌릴 수 없음.

http와 ws는 같은 서버에서 존재 가능.

 

->socketIO는 서버와 클라이언트가 동시에 될 수 있음. 두 역할 모두 가능.

프론트/백엔드에 모두 설치하면 서로 통신가능.