Zero To One

웹 서버란 무엇이고 서버의 종류란 무엇이 있는가? 본문

WAS and Server

웹 서버란 무엇이고 서버의 종류란 무엇이 있는가?

Zero_To_One 2022. 3. 2. 20:16

서버란, 크게 2가지 측면에서 볼 수 있다.

1. 하드웨어

2. 소프트웨어

 

하드웨어적인 부분에서의 서버는 정적 파일들이 제공되거나, 서버 애플리케이션이 실행되는 컴퓨터를 의미한다.

소프트웨어적인 부분에서의 서버는 정적 파일을 제공하거나, 서비스를 제공하는 애플리케이션 그 자체를 의미한다.

 

즉,

  • 사용자의 요청을 받고, 이에 따른 응답과 데이터를 보내주는 역할을 수행
  • 서비스를 제공하는 컴퓨터 내의 프로그램
  • 이러한 프로그램(소프트웨어)이 실행되는 컴퓨터(하드웨어) 역시 서버라 불린다.

따라서, 서버는 클라이언트가 원하는 리소스를 serve해 주는 곳 이라 보면 된다.

서버의 종류

서버는 어디에 위치하냐, 무엇을 쓰냐에 따라 달라진다.

 

1. 웹 서버 (Web Server) 

 - 클라이언트로부터 HTTP요청을 받아들이고, HTML 문서와 같은 웹 페이지를 있는 그대로를 반환하는 서버를 말한다.

 - 이때 웹 페이지는 그림,CSS,JS을 포함하며, 이러한 파일들을 정적 파일이라고 부른다.

 - 이러한 정적파일을 브라우저에 잔달하는 역할을 하기 때문에 웹 서버는 정적 웹서버(Static Web Server)라고 부르기도 한다.

 - ex) nginx, Apache Web Server

 

2. 웹 에플리케이션 서버 (Web Application Server)

 - 웹페이지를 구성하는 동적인 컨텐츠를 생성하거나 업데이트하는 비즈니스 로직을 수행할 수 있게 한다.

 - 웹서버가 가지는 특징

        1. 웹 페이지를 구성하는 동적인 요소를 생성하는 서버 사이드 코드가 구동될 수 있는 프로그래밍 언어적 런타임 혹은

              소프트웨어 엔진을 제공한다.

        2. 웹 애플리케이션의 서버의 클라이언트는 애플리케이션 그 자체가 될 수 있고, 웹 서버나 다른 웹 애플리케이션 서버,
              데이터베이스 서버가 될 수 있다.  

 - 즉, 웹 애플리케이션 서버를 사용한다면 경우에 따라 다양한 형태의 아키텍처가 생성될 수 있다.

 

3. 데이터베이스 서버

 - 데이터베이스 서버는 사용자가 데이터베이스에 연결할 수 있도록 해준다.

 - 사용자 정보나 사진, 동영상 등에 대한 정보를 담고 있는 서버이다.

 - ex)  MySQL, MongoDB, Oracle ...

 

4. 프록시 서버

 - 리소스를 요청하는 클라이언트와 응답으로 리소스를 전달하는 서버 사이에 중계 역할을 하는 서버이다.

 - 어디에 위치하느냐에 따라 포워드 프록시와 리버스 프록시로 나누어진다.

 - 프록시 서버가 수행하는 기능으로는 보안,캐시,로드밸런싱 등이 있다.