상세 컨텐츠

본문 제목

클라이언트 / 서버 web server 제작을 위해 필수

network

by 2hansoul 2021. 8. 18. 19:55

본문

반응형

1. 서버(Server)

서버는 일반적으로 클라이언트로부터 받은 요청(request)를 처리하여 응답(response)주는 서비스, 시스템를 의미합니다.

항상 응답을 주는 역할만 하며 요청 역할은 할 수 없습니다. 보통 동적, 정적인 데이터 처리를 하는 역할을 합니다.

 

2. 클라이언트(Client)

클라이언트는 일반적으로 서버에게 요청(request)를 하여 서버로부터 원하는 데이터, 컨텐츠 등을 응답(response) 받는 시스템, 어플리케이션, 단말기 등을 뜻합니다. 서버는 응답 역할만 할 수 있듯이 client는 요청 역할만 할 수 있습니다.

 

실생활에 조금 응용하여 설명해 볼까요?

철수는 영희에게 데이트 신청을 하려고 합니다. 그래서 철수는 영희에게 메세지를 보냅니다.

 

<철수와 영희1>

 

그리고 영희는 철수에게 답장 메세지를 보냅니다.

 

<철수와 영희2>

 

철수와 영희 그림에서 보듯이 철수는 영희에게 데이트 요청(request) 메세지를 보냈고
영희는 철수에게 응답(response) 메세지를 보냈습니다.
따라서 영희는 서버, 철수는 클라이언트로 볼 수 있겠네요 ^^

 

※ 서버와 클라이언트를 간단히 말하면

  • 서버 :  클라이언트로부터 요청(request)를 받아 클라이언트에게 응답(response)을 주는 역할
  • 클라이언트 : 서버에게 요청(request) 주고 서버로부터 응답(response)을 받는 역할

 

3. Web service 에서 서버와 클라이언트

그렇다면 Web service에서 서버와 클라이언트를 아래 그림과 함께 이해해 볼까요?

 

<그림1>

 

<그림2>

그림1 에서는 클라이언트는 사용자, 스마트폰 단말, PC, 브라우저, 어플 등을 뜻합니다. 보는 관점에 따라 사용자가 될 수도 있고, 브라우저가 될 수도 있습니다. 사용자는 PC 혹은 스마트폰 등을 이용하여 브라우저, 어플 등을 통해 어떠한 이벤트(로그인 버튼을 클릭한다던가)를 발생시켜, 브라우저, PC, 혹은 스마트폰 단말기가 서로 상호작용하며 Server에게 이벤트에 대한 요청(request)을 보내게 됩니다. 어떠한 관점에서 보든 요청(request)를 보내는 역할을 하는 매개체는 클라이언트로 볼 수 있습니다.

서버 또한 관점에 따라 물리적인 서버, 혹은 Web 서버, WAS 같은 소프트웨어가 될 수 있습니다. 물리적인 서버든 소프트웨어든 서로 상호작용하며 클라이언트로 부터 요청(request)를 받기 때문에 모두 서버가 될 수 있습니다.

 

Web service에서는 일반적으로 위 그림1, 2와 같이 서버와 클라이언트가 구성되지만 시스템이 어떻게 구성되느냐에 따라 아래 그림과 같이 서버와 클라이언트를 볼 수도 있습니다.

 

<그림3>

 

그림3과 같은 방식으로 시스템이 구축되어 있다면 서버와 클라이언트 구분을 어떻게 해야 할까요?
그림3은 2가지 관점으로 나누어 볼 수 있습니다. 아래 그림을 살펴 보시죠.

 

<그림4>

 

그림 4에서 관점1은 그림2와 동일해 집니다. 즉 서버는 시스템1, 클라이언트는 PC, 혹은 사용자가 되겠습니다.

그렇다면 관점2는???

시스템1이 클라이언트, 시스템2는 서버가 됩니다.

 

결론적으로 시스템1은 관점에 따라 서버가 될 수도 있고 클라이언트가 될 수도 있습니다.

그러면 사용자(PC)와 시스템2 는 서로 관계가 어떻게 될까요???

이 둘의 관계는 서버와 클라이언트를 정의할 수 없습니다. 직접적으로 통신하지 않기 때문이지요.

반응형

관련글 더보기

댓글 영역