HTTP 통신
Client 요청(Request)이 있을 때만 Server가 응답(Response)하고 곧바로 연결을 종료하는 단방향통신
stateless
: 요청시마다 스트림을 연결해서 데이터를 주고받음 => 응답 후 연결 끊으니 session필요- 기본적으로 소켓 연결 위에서 맺어지는 애플리케이션 계층의 연결 방식
- 최근에는 성능상의 이유(connetion을 맺고 끊는 비용이 비쌈)로 Keep Alive 옵션을 통해 일정기간 클라이언트와 connection 유지하는 방식으로 통신 가능
- 필요한 경우에만 Server로 접근하는 콘텐츠 위주의 데이터를 사용할 때 용이
Socket 통신
Client, Server 가 특정 포트를 통해 연결을 유지하고 있어 실시간으로 양방향통신
stateful
: 연결이 지속되어있음- Client, Server 양쪽에서
서로에게 데이터전달
- Client 가 Server에 요청 보낼 수 있음
- Server 역시 Client로 요청을 보낼 수 있음
- 실시간 Streaming or 실시간 채팅과 같이 즉각적으로 정보를 주고받는 경우 용이
- HTTP통신하면?
사용자가 서버로 동영상을 요청하기 위해서 동영상 보는동안 계속해서 Http Request를 보내야 함
계속 연결을 요청하기 때문에 부하
- HTTP통신하면?
- 포트 : HTTP(80), HTTPS(443)과 동일한 포트 사용
=> 자주 데이터를 주고받는 환경 : 소켓통신
아닌경우 : HTTP통신 유리
Reference
https://kotlinworld.com/75?category=999308
https://mangkyu.tistory.com/48?category=762469
https://bitcodic.tistory.com/151