💡 CS프로그램
1. 'Client Server 모델'
- 간단한 구조로 되어있고, 대부분 Server에서 데이터를 처리하고 클라이언트는 UI를 담당한다.
- 구조가 간단하여 속도가 좋은 특징이 있으나 확장성은 떨어진다.
-------------------------------------------------------------------------------
2. '장점'
- 구조가 간단하여 속도가 빠르다.
- 대부분 C/C++언어로 작성되므로 속도가 좋음.
-------------------------------------------------------------------------------
3. '단점'
- 구조상 확장의 어려움이 있다.
- Client 프로그램을 다운로드 받아 PC에 설치해야 하는 배포의 번거로움이 있다.
- 버그를 수정하여도 배포하기 번거로움.
- 특정 OS 및 하드웨어에 종속적이다.
-------------------------------------------------------------------------------
4, '소캣통신'
- 소캣통신이란,
서버와 클라이언트 사이의 '양방향 연결이 이루어지는 통신'으로,
클라이언트도 서버로 요청을 보낼 수 있고,
서버도 클라이언트로 요청을 보낼 수 있는 통신이다.
- 보통 스트리밍이나 실시간 채팅 등, 실시간으로 데이터를 주고 받아야 하는 경우
Connection을 자주 맺고 끊는 HTTP통신 보다 소켓통신이 더 적합하다.
- 소켓통신은 계속해서 Connection을 들고 있기 때문에,
HTTP통신에 비해 많은 리소스가 소모된다.

💡 Web프로그램
1. 'Web 환경'
- CS환경이 배포가 어렵다는 단점을 보완한 모델이다.
- 브라우저만 있으면 어디서든지 쉽게 접근이 가능하다.
-------------------------------------------------------------------------------
2. '장점'
- OS와 브라우저의 제품에 상관없이 어디서든 동작이 가능하다.
- 수정된 부분을 쉽게 배포할 수 있다.
-------------------------------------------------------------------------------
3. '단점'
- 성능이 떨어지고, 속도가 느리다.
- 화면의 복잡도가 증가하면, 성능이 더더욱 떨어진다.
- 너무 다양한 기술이 접목되어 관리하기 어렵다.
-------------------------------------------------------------------------------
4, 'HTTP통신'
- HTTP통신이란,
HTTP는 'HyperText Transfer Protocol'의 약자로
HTML파일을 전송하는 프로토콜이라는 의미를 가진다.
- 웹브라우저에서 통신이 일어나며, 초기에는 HTML파일을 전송하려는 목적으로 만들어졌으나,
현재는 JSON, Image파일 등등을 전송한다.
- HTTP통신은 클라이언트에서 서버로 요청을 보내고 서버가 응답하는 방식으로 통신이 이루어진다.
- 클라이언트의 요청이 있을 때, 서버가 응답하는 방식의 '단방향 통신'이다.
- 실시간 연결이 아니고, 응답이 필요한 경우에만 Server와 연결을 맺어 요청을 보내는 상황에 유용하다.

💡 정리
- '자주 데이터를 주고 받는 환경이 아닌' 경우,
'HTTP통신'을 통해 받는 것이 유리하다.
- '자주 데이터를 주고 받아야 하는 환경'에서는 '소켓통신'이 유리하다.
- HTTP통신은 사용자가 서버에 요청을 보내는 '단방향 통신'인 반면,
소케통신은 '양방향 통신'이다.