Zero To One
웹 서버란 무엇이고 서버의 종류란 무엇이 있는가? 본문
서버란, 크게 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. 프록시 서버
- 리소스를 요청하는 클라이언트와 응답으로 리소스를 전달하는 서버 사이에 중계 역할을 하는 서버이다.
- 어디에 위치하느냐에 따라 포워드 프록시와 리버스 프록시로 나누어진다.
- 프록시 서버가 수행하는 기능으로는 보안,캐시,로드밸런싱 등이 있다.
'WAS and Server' 카테고리의 다른 글
setp1) fastify와 mongodb를 연결해보자 (0) | 2022.03.06 |
---|---|
nginx 설치하기 (우분투 20.04LTS) (0) | 2022.03.02 |
build란? build 하는법 (0) | 2022.03.02 |
Nginx 명령어 모음 (0) | 2022.03.02 |
npx serve ./client -l 3000sh: 1: serve: not found 해결방법 (0) | 2022.02.28 |