클라이언트와 서버는 웹 애플리케이션의 핵심구성요소이다.
클라이언트는 사용자가 보는 화면이다.
웹사이트로 따지면 크롬 브라우저나 사파리, 익스플로러 등 앱으로 따지면 휴대폰에 많이 존재하는 어플, 앱 자체가 해당된다.
서버는 우리가 원하는 데이터가 있는 곳이고,
원하는 데이터를 요청하면 이에 응답해주는 곳이기도 하다.
즉 클라이언트에서 원하는 데이터가 있을 때마다 서버에 요청하고,
응답 데이터를 받아 사용자에게 보여준다.
앱 서비스 뿐만아니라 웹 사이트 만들 때도 마찬가지이다.
네트워크는 클라이언트와 서버 사이의 통신을 가능하게 하는 중요한 요소이다.
웹에서의 네트워크 통신은 일반적으로 HTTP프로토콜을 기반으로 이루어지고 클라이언트가 서버에 요청을 보내면 해당 요청은 TCP/IP프로토콜을 사용하여 패킷으로 분할되어 인터넷을 통해 전송된다.
이러한 패킷은 라우터 및 네트워크 인프라를 통해 목적지 서버로 전송되고, 서버는 패킷을 수신하여 요청을 처리하고 응답을 클라이언트에게 돌려준다.
네트워크 통신은 비동기적이며, 상태가 없는 방식으로 이루어진다.
이는 각각의 요청이 독립적으로 처리되고, 서버는 각 요청을 개별적으로 이해하며 응답을 생성한다는 것을 의미한다. 클라이언트와 서버간의 통신은 요청과 응답을 주고받는 형태로 이루어지며, 이를 통해 웹 애플리케이션은 상호작용하고 정보를 교환할 수 있다.