본문 바로가기

[WEB BASIC] 클라이언트/서버 모델(구조)

Client/Server Model(Architecture)

 네트워크망을 구현하기 위해서 어떤 방식들로 형성되어 있는지 공부해 봐요

1.정의

  1.1 클라이언트/서버 

 웹(WWW)에서 웹 브라우저의 작동 원리를 이해하기 위해서는 클라이언트와 서버라는 용어를 알아야 한다. 이 웹 서비스가 바로 클라이언트(client)/서버(server)모델을 기본으로 작동하고 있기 때문이다.[1] 

1.2 피투피 

 기존의 서버와 클라이언트 개념이나 공급자와 소비자 개념에서 벗어나 개인 컴퓨터끼리 직접 연결하고 검색함으로써 모든 참여자가 공급자인 동시에 수요자가 되는 형태이다.[2]

2.정리

 2.1 클라이언트 / 서버

  네이버, 다음, 카카오 이러한 기업들이 제공해주는 것이 "서버"라고해요. 우리는 "네이버 서버" 혹은 "카카오 서버"에서 뉴스나 카카오톡을 주고받을 수 있는 거랍니다. 그럼 "클라이언트"는 무엇일까요? 바로 서버를 이용하는 사람들을 칭하는 말이에요 

 

 클라이언트/서버 방식은 서버는 클라이언트 요청을 받을 때까지 대기하고 클라이언트는 그러한 서버에 접속해 원하는 서비스를 받을 수 있는 거랍니다. 


 이러한 방법은 장단점이 존재하는데요 장점은 프로그래머 관점에서 개발/유지보수 하기가 쉽다는 겁니다. 서버의 역할과 클라이언트 역할이 명확하게 구분되기 때문이죠, 그리고 서버에서만 데이터를 다루기 때문에 관리 포인트가 적어 보안성도 높아질 거에요, 


 단점으로는 역설적이게도 서버에서만 데이터를 다루기 때문에 서버의 부하가 큰 편이에요 예를들어 영화 한편들 다운로드하는데 이 영화 다운로드를 제공해주는 서버는 계속해서 클라이언트에게 영화가 모두 다운로드 될때까지 전송해줘야해요 한명이라면 무리가 없지만 수십 수백명이 다운로드 받는다면 굉장히 힘들겠죠? 이러한 단점을 커버해줄 녀석이 피투피 구조에요.

 2.2 피투피

  피투피의 핵심은 데이터를 서버에서만 응답해 주는게 아니라 여러 컴퓨터에 응답해준다는 거에요, 그러니까 영화를 혼자 여러 클라이언트들에게 전송하는게 아니라 영화 데이터를 여기저기 분산시켜 놓고 클라이언트가 영화 다운로드 요청! 하면 분산되어있던 데이터들을 클라이언트에게 몰아주는 형태인거죠! 속도가 엄청 빨라지겠죠?

 단점으로는 데이터가 여기저기 분산되어 있기 때문에 보안에 굉장히 취약할 수 있어요 

3.후기

 강의를 듣고 정리한 것과 이해되지 않았던 점을 집중적으로 공부 및 정리했어요. 틀린게 있다면 지적해주시면 감사하겠습니다.

4.참고

[1] 네이버 지식백과 : 클라이언트/서버
[2] 네이버 지식백과 : p2p


'' 카테고리의 다른 글

[WEB BASIC] 브라우저  (0) 2019.02.04
[WEB BASIC] HTTP 프로토콜  (0) 2019.02.03
[WEB BASIC] 프로토콜 연결 방식  (0) 2019.02.02
[WEB BASIC]WWW(World Wide Web)  (0) 2019.02.01
[WEB BASIC] 인터넷?  (0) 2019.02.01