11.1 클라이언트-서버 프로그래밍 모델

서버는 리소스를 관리하고, 이 리소스를 조작해서 클라이언트를 위한 일부 서비스를 제공한다.

Client 란?

서비스를 사용하는 사용자 혹은 사용자의 단말기를 가리킨다.

Server 란?

서비스를 제공하는 컴퓨터이며, 다수의 클라이언트를 위해 존재하기 때문에 일반적으로 매우 큰 용량과 성능을 가지고 있었다. 그러나 최근들어 서버의 역할을 하면서 동시에 클라이언트 기능을 하는 환경들이 많이 생겨나고 있다.

클라이언트-서버의 기본적인 트랜잭션

  1. 클라이언트가 서비스를 필요로 할 때, 클라이언트는 한개의 요청을 서버에 보낸다.

    ex) 웹 브라우저가 파일을 필요로 할 때, 웹 서버로 요청을 보낸다.

  2. 서버는 요청을 받고 해석하고 자신의 리소스들을 적절한 방법으로 조작한다.

    ex) 웹 서버가 브라우저로부터 요청을 받을 때, 디스크 파일을 읽는다.

  3. 서버는 응답을 클라이언트로 보내고, 그 후에 다음 요청을 기다린다.

    ex) 웹 서버는 파일을 다시 클라이언트로 돌려보낸다.

  4. 클라이언트는 응답을 받고 처리한다.

    ex) 웹 브라우저가 서버로부터 페이지를 한 개 받은 후, 이것을 스크린에 디스플레이 한다.

Untitled

11.2 네트워크