서버와 클라이언트

Eugenius1st·2022년 10월 18일
0

CS기초강의

목록 보기
12/16
post-thumbnail

서버와 클라이언트의 개념

서버는 ‘제공하는 주체’
클라이언트는 ‘서버’의 반대 개념으로, 서버가 제공자의 관점이라면 클라이언트는 ‘제공 받는 대상’이다.

서버의 종류

  • 웹 서버
    : 웹 서비스를 제공하기 위한 서버 컴퓨터
    : Apache, IIS, NginX와 같은 웹 서버 소프트웨어를 사용하여 웹 서비스 할 수 있음
  • 웹 애플리케이션 서버
    : 웹 애플리케이션을 제공하기 위한 서버 컴퓨터
    : Tomcat, WebLogic, WebSphere와 같은 웹 애플리케이션 서버 소프트웨어를 사용하여 웹 애플리케이션 서비스를 제공할 수 있음.
  • 데이터베이스 서버
    : 데이터베이스를 제공하기 위한 서버 컴퓨터
    : Oracle, MS-SQL, MySQL과 같은 데이터베이스 소프트웨어를 사용하여 서비스 할 수 있음
  • 파일 전송 서버
    : 대용량의 파일을 빠르게 주고 받기 위한 서버 컴퓨터
    : VS-FTPD, IIS와 같은 소프트웨어를 사용하여 서비스 할 수 있음
  • 메일 서버
    : 메일 서비스를 위한 서버 컴퓨터
    : Send-mail, Microsoft Exchange Server와 같은 소프트웨어를 사용하여 서비스 할 수 있음
  • 인쇄 서버
    : 공간의 제약을 극복하고 인쇄를 할 수 있도록 하는 서버 컴퓨터
    : 인쇄기 제품과 구성에 따라 해당 서비스를 지원하는 다양한 소프트웨어를 사용하여 서비스 할 수 있음

실제 개발을 하면 서버의 사용 목적에 따라 운영 서버와 개발 서버로 분리하여 사용하는 것을 쉽게 볼 수 있다. [그림 3] 처럼 개발자는 특정 개발 단계가 완료되면 개발 내용을 서비스의 종류에 맞는 ‘개발 서버’에 적용 한다. 프론트 개발자는 개발 웹 서버에 개발 내용을 적용하고 백엔드 개발자는 개발 웹 애플리케이션 서버에 개발 내용을 적용할 수 있다. 데이터베이스와 관련한 내용은 개발 데이터베이스 서버에 반영한다. 이와 같이 하나의 제품에 여러 개발 서버를 나누는 이유는 프론트 개발자와 백엔드 개발자의 포지션을 구분하는 것 처럼 개발 영역을 명확히 하여 관리와 개발을 쉽게 하기 위함이다. 더 나아가서는 서버가 감당해야 할 트래픽의 분산을 위함이고 서버의 장애에 대응하기 위함이다. 개발 서버에 적용된 내용이 확정되고 서비스 가능한 수준으로 의사 결정 단계를 거치면 각각의 운영 서버에 해당 내용이 반영되어 클라이언트는 업데이트 된 최신 서비스를 제공 받을 수 있다.

서버와 클라이언트의 통신


통신은 요청과 응답으로 다시 구분할 수 있다. 따라서 통신을 요청하는 기준에서 서버는 요청을 받게 되고 클라이언트는 요청을 한다고 할 수 있다. 요청과 응답은 반대의 개념이므로 통신에 응답하는 기준에서 서버는 응답을 하고 클라이언트는 응답을 받는다.

서버 구성과 서버 환경 설정

  • 서버 구성
    - 서버 컴퓨터를 구성하는 관점
    - 서버 컴퓨터의 종류, 서버 컴퓨터의 대수, 네트워크 정책, 서버 수용 인원 예측 등을 구성

  • 서버 환경 설정

    	- 구성된 특정 컴퓨터 서버가 서비스를 제공할 수 있도록 환경을 구성하는 과정
    	- 웹 서버는 Apache, IIS, NginX 와 같은 웹 서버 소프트웨어를 이용하여 웹 서비스를 가능케 하는 서버 환경 설정을 의미
    	- 웹 애플리케이션 서버는 Tomcat, WebLogic 과 같은 웹 애플리케이션 서버 소프트웨어를 이용하여 웹 애플리케이션을 구동하여 서비스 가능케 하는 서버 환경 설정을 의미
    	- 데이터베이스 서버는 Oracle, MS-SQL 과 같은 데이터베이스 솔루션 소프트웨어를 이용하여 데이터베이스를 관리할 수 있는 서비스를 제공할 수 있는 서버 환경 설정을 의미
profile
최강 프론트엔드 개발자가 되고싶은 안유진 입니다

0개의 댓글