안녕하십니까 코딩 파인애플입니다
이번 시간에는 클라이언트-서버 모델에 관해 알아보겠습니다.
클라이언트(Client)가 서비스를 요청(Request)하고, 서버(Server)가 그 요청을 처리한 뒤 결과(Response)를 돌려주는 컴퓨터 시스템 구조를 말합니다
뭔가 좀 무서운데
동작 방식은 다음과 같습니다
1️⃣ 사용자가 웹 브라우저를 실행한다
2️⃣ 브라우저가 서버에 원하는 정보를 요청한다
3️⃣ 서버가 요청을 처리한다
4️⃣ 처리한 결과를 다시 클라이언트에게 보낸다
5️⃣ 클라이언트는 받은 결과를 화면에 표시한다
이 모든 과정이 일어나는 시간은 대부분 1초도 걸리지 않습니다
식당이라는 인터넷 안에서 클라이언트라는 손님이 메뉴를 요청하면 서버라는 주방장이 요청을 처리하고 만든 요리를 클라이언트에게 보내는 과정이라고 보면 편합니다
(아 좋은 비유네용)
클라이언트는 사용자의 요청을 서버에 전달하고, 서버가 보내준 결과를 사용자에게 보여주는 역할을 합니다
프론드 엔드(Front-End)가 속하는 부분이기도 합니다
(사용자 이용 화면 구현)
쉽게 말하면 "서비스를 이용하는 쪽"이 되는 셈이죠
클라이언트가 하는 역할은
1️⃣사용자의 입력을 받는다
2️⃣서버에 요청을 보낸다
3️⃣서버로부터 응답을 받는다
4️⃣받은 결과를 화면에 출력한다
정도로 있겠습니다
서버는 클라이언트의 요청을 처리하여 필요한 데이터를 보내주는 역할을 합니다
백엔드(Back-End)가 속하는 부분이기도 합니다
(사용자가 보지 못하는 곳에서 유지보수 및 관리)
쉽게 말하면 "서비스를 제공하는 쪽"이 되는 셈이죠
서버가 하는 역할로는
1️⃣클라이언트의 요청을 받는다
2️⃣요청을 분석한다
3️⃣필요한 데이터를 찾거나 계산한다
4️⃣결과를 클라이언트에게 보낸다
정도로 있겠습니다
온라인 게임을 해보시면 ping이라는 단위를 한번쯤 보셨을 것입니다
이 ping이라는 단위 또한 클라이언트에서 서버-클라이언트로 한번 왕복하는 데 걸리는 시간을 의미합니다
예를 들어 ping : 67ms라 할 경우 67 밀리초(ms,Millisecond : 0.001초) 이니 클라이언트와 서버를 왕복하는 데 0.067초가 걸렸다는 의미이기도 합니다
ping : 1022.73431초
이상으로 글을 마치겠습니다 감사합니다