"서버-클라이언트"의 두 판 사이의 차이
잔글 |
잔글 |
||
16번째 줄: | 16번째 줄: | ||
=== 클라이언트 === | === 클라이언트 === | ||
− | [[클라이언트]](client)란 [[네트워크]]를 이용하여 서버 시스템에 연결된 [[PC]]나 [[스마트폰]] 등 사용자 측을 말한다. 클라이언트는 서버에서 받아온 데이터를 단말기 화면에 표시하고 사용자의 요청을 서버에 전달하기 위해 [[ | + | [[클라이언트]](client)란 [[네트워크]]를 이용하여 서버 시스템에 연결된 [[PC]]나 [[스마트폰]] 등 사용자 측을 말한다. 클라이언트는 서버에서 받아온 데이터를 단말기 화면에 표시하고 사용자의 요청을 서버에 전달하기 위해 [[웹브라우저]]를 사용한다. 대표적인 웹브라우저에는 [[인터넷 익스플로러]](IE), 마이크로소프트 [[엣지]](Edge), 구글 [[크롬]](Chrome), 애플 [[사파리]](Safari), 모질라 [[파이어폭스]](Firefox), [[오페라]](Opera) 등이 있다. 모바일 전용 웹브라우저에는 [[삼성 인터넷]](Samsung Internet) 등이 있다. |
== 장단점 == | == 장단점 == |
2019년 6월 9일 (일) 21:50 판
서버-클라이언트(server-client) 구조란 데이터를 저장하고 관리하는 서버 부분과 해당 서버에 접속하여 데이터를 열람하는 클라이언트 부분으로 구성된 네트워크 구조를 말한다.
구조
서버와 클라이언트는 1:N 구조로 연결되어 있다. 즉, 한 대의 서버에 다수의 클라이언트가 접속하여 서비스를 이용한다.
대부분의 인터넷 웹 사이트는 서버-클라이언트 구조로 작동한다. 예를 들어 네이버, 구글, 페이스북, 유튜브 등 인터넷 포털 사이트에 방대한 데이터를 저장하고 다수의 사용자들이 개인 PC나 스마트폰 등의 단말기를 사용하여 해당 서버에 접속하여 필요한 정보를 열람할 수 있다. 서버의 경우 하루 24시간, 1년 365일 인터넷에 연결되어 있어야 한다. 반면 클라이언트의 경우 필요할 때만 켜서 인터넷에 접속하면 된다.
구성
서버
서버(server)란 통신망 상에서 다른 컴퓨터에 대하여 회선, 디스크 장치 등에 대한 접속을 제어하는 관리 소프트웨어 또는 컴퓨터를 말한다. 서버는 그 역할에 따라 웹(Web) 서버, 와스(WAS) 서버, 디비(DB) 서버 등이 있다. 서버에 대해 자세히 보기
- 웹서버(web server) : HTML로 만든 웹 페이지가 들어 있는 파일을 사용자에게 제공하는 서버 프로그램이다. 대표적인 웹 서버 프로그램에는 아파치(Apache), IIS, 웹투비(WebtoB), 웹티어(WebTier) 등이 있다.
- 와스서버(WAS) : Web Application Server의 약자로서, 자바(Java) 등으로 만든 웹 응용 프로그램이 설치되어 작동하는 웹 애플리케이션 서버를 말한다. 미들웨어의 일종이다. 대표적인 와스(WAS) 제품에는 톰캣(Tomcat), 제우스(JEUS), 제이보스(JBoss)[1], 웹로직(WebLogic), 웹스피어(WebSphere), 레진(Resin), 글래스피시(GlassFish) 등이 있다. 한국에서는 WAS라고 하지만, 영어권에서는 Application Server(약칭 AS)라고 한다.
- 디비서버(DB server) : Database Server의 약자로서, 데이터베이스(DB)를 저장 및 관리하는 서버를 말한다. 오라클(Oracle), 마이에스큐엘(MySQL), 엠에스에스큐엘(MS-SQL), 큐브리드(Cubrid) 등 다양한 데이터베이스 관리 시스템(DBMS)으로 만든 데이터가 저장·관리된다.
클라이언트
클라이언트(client)란 네트워크를 이용하여 서버 시스템에 연결된 PC나 스마트폰 등 사용자 측을 말한다. 클라이언트는 서버에서 받아온 데이터를 단말기 화면에 표시하고 사용자의 요청을 서버에 전달하기 위해 웹브라우저를 사용한다. 대표적인 웹브라우저에는 인터넷 익스플로러(IE), 마이크로소프트 엣지(Edge), 구글 크롬(Chrome), 애플 사파리(Safari), 모질라 파이어폭스(Firefox), 오페라(Opera) 등이 있다. 모바일 전용 웹브라우저에는 삼성 인터넷(Samsung Internet) 등이 있다.
장단점
장점
서버-클라이언트 구조는 매우 효율적인 네트워크 구조이다. 다수의 사용자들이 공동으로 열람·복사·수정·관리하는 데이터를 여러 곳에 분산시키지 않고 단일한 중앙 서버에 저장하여 관리함으로써 데이터의 유일성과 통일성을 보장할 수 있다. 탈중앙 분산 저장 방식에 필요한 합의 알고리즘이 필요 없다. 중앙 서버만 관리하면 되므로 분산 저장 방식에 비해 네트워크 구성 및 유지관리 비용이 적게 든다.
단점
서버-클라이언트 구조는 해킹 공격과 디도스 및 랜섬웨어 공격 등에 취약하다. 모든 중요 데이터가 중앙 서버에 집중되어 있기 때문에 해커가 중앙 서버에 침투하여 데이터를 위변조할 경우 모든 클라이언트들에게 잘못된 정보가 전달된다. 이를 방어하기 위해 방화벽, 웹 방화벽, 침입탐지시스템(IDS), 침입방지시스템(IPS) 등 다양한 보안 제품을 설치하고, 서버에 저장된 데이터를 복사하여 별도의 저장장치에 백업을 해야 하기 때문에 추가적인 비용이 들어간다.
대안
중앙 서버를 두지 않고 데이터를 여러 곳에 분산 저장하는 P2P 방식을 이용할 경우 기존 서버-클라이언트 구조의 단점을 해결할 수 있다. P2P란 Peer to Peer의 약자로서, 인터넷으로 다른 사용자의 컴퓨터에 접속하여 각종 정보나 파일을 교환하고 공유할 수 있게 해 주는 서비스이다. 음악 파일 공유를 위한 냅스터(Napster), 소리바다 등과 동영상 파일 공유를 위한 토렌트(Torrent), 암호화폐인 비트코인과 이더리움, 블록체인(blockchain) 기술, 분산 버전 관리(DVC) 시스템 등은 P2P 기반으로 운영된다.
각주
- ↑ 제이보스(JBoss)는 와일드플라이(WildFly)로 이름이 변경되었다.