Http 통신의 특징
Hyper Text Transper Protocol의 약자
- 웹 서비스에서 Client-Server 간의 정보를 요청/응답받기 위해 만들어진 프로토콜
- Client가 요청할 때만 Server에서 응답을 반환(단반향 통신)
- Statefuless protocol: Server가 Client의 상태를 저장하지 않음
- 데이터 1회 요청 시 Connect/Close 반복
- 반드시 DB(레디스 등 메모리 DB 포함)를 거쳐 데이터를 주고 받음
- 서버 자체의 메모리에 유저 데이터를 들고 있지 않음
Socket 통신의 특징
패킷 이라는 형식화된 데이터 메모리 단위를 주고 받아 통신함
- Client와 Server가 특정 port를 열어서 실시간으로 양방향 통신을 하는 방웨
- Stateful Protoco ⇒ Server가 Client의 상태를 저장하고 있음
- Client / Server 측에서 임의로 연결 상태를 끊지 않는 한 서로 연결 유지
- DB를 통해 데이터를 주고 받을 수도 있고, 임시로 데이터를 서버 프로그램 자체 내에서 생성해서 가지고 있을 수도 있음
-> 반드시 DB가 필수조건이 아니라는 뜻
- 서버 자체의 메모리에 유저 데이터를 저장하고 있음.
❓ 웹 서비스에서 양방향 통신을 할 수 있는 프로토콜은? → WebSocket!
- 웹 서비스에서 Client-Server 간의 정보를 양방향으로 통신하기 위해 만들어짐
- Stateful protocol ⇒ 한번 Connection을 맺으면 일정 시간 동안 Connection을 유지할 수 있음
- 웹서버와 통신이 가능하다는 이점이 있음