본문 바로가기
Computer Science/Network

[Web Service] 1. Servcer-Clinet Model

by pilgyeong 2023. 1. 9.

 

1. 인터넷과 웹에 대한 기본 개념

1.1 인터넷이란

  • Inter-network의 줄임말으로서 컴퓨터와 컴퓨터 사이의 연결을 의미함
  • 통상적으로 국경이 구분 없이 컴퓨터 사이에 연결이 가능한 것을 인터넷이라고 말함.

 

1.2 웹(Web)이란

  • 보이지 않는 인터넷상에서 접근할 수 있는 콘텐츠의 모음을 말함
  • World Wide Web을 줄여서 www (또는 w3)이라고 말함

 

1.3 인터넷과 웹의 구분

  • 인터넷은 하드웨어, 웹은 소프트웨어로 보면 됨
  • 인터넷은 인프라스트럭쳐라면,  웹은 그 인프라 위에서 제공되는 서비스를 말함.

 


 

2. Server-Client 모델

2.1 웹사이트에 접속할 때 일어나는 일련의 과정

출처 : 데이터 엔지니어, 조이(Joey) 강사

 

2.2 Server-Client 개념

Server-Client 의미

  • 둘 다 서로간의 어떤 역할(role)에 대한 정의임
  • Client: '요청'을 하는 역할
  • Server: 요청에 '응답'을 하는 역할

 

Server-Client 특징

  • Server가 있어야, Client가 요청할 수 있음
  • Server/Client는 서로 간의 역할(role)이기 때문에 둘 다 존재하여야 함. 하나만 존재할 수 없음
  • Server//Client가 정보를 주고 받기 위해서는 어떤 약속(protocol)이 필요함
    • 컴퓨터는 한 비트씩 읽으므로, 처음 데이터부터 몇 번째 데이터까지 무슨 의미인지를 미리 알아야 계속해서 들어오는 연속적인(stream) 데이터에서 몇 번째까지, 어떻게 읽을지 해석할 수 있음

 

Server-Client 용어의 오해

  • 엄밀하게 정의하면, Server/Client는 특정 기술을 의미하지 않음.
    • ex. 백엔드 서버를 만들었을 때, 그 서버는 Client 입장에서는 API의 서버이지만, 조회하는 데이터베이스와의 관계에서는 Client가 됨
  • 채용공고에서 말하는 서버 개발자, 클라이언트 개발자는 어떤 의미인가?
    • 통상적으로 JD에서 말하는 서버 개발자 또는 클라이언트 개발자는 기술적으로는 정확한 용어는 아니고, 사용하다 보니 인식되는 용어로 생각하면됨. 서버 개발자는 개발하는 서버에서는 HTTP client, DB client 등 많은 클라이언트를 개발하게 됨. 여기서 말하는 Server/Client는 사용자(고객) 입장에서 눈에 보이지 않는 영역을 서버, 눈에 보이는 영역(웹페이지, 모바일 앱)을 개발하는 쪽을 클라이언트라고 생각하면 됨. 둘 사이의 관계는 client-server 관계가 됨

 


데이터엔지니어 조이(Joey) 강사님의 강의 요약