웹 서버

Numberbeen·2022년 12월 15일
0

서버(Server)?

서버라는 용어는 기본적으로 어떤 컴퓨터의 역활을 의미한다. 어떤 컴퓨터 한 대가 요청을 이해하고, 이를 처리하여 요청에 맞는 내용을 응답으로 전달(서빙)하는 역활을 한다고 해서 serve + er 서버라는 명칭을 붙임.

서버는 크게 하드웨서, 소프트웨어 2가지 측면에서 살펴볼 수 있다.

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

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

이러한 측면을 종합하여 본 서버의 의미로는

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

서버의 종류

각 서버는 특정 작업을 전문적으로 수행할 수 있게 여러 분류로 나누어 진다.

❗️❗️ 웹 서버(Web Server)

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

이때 웹 페이지는 그림, CSS, JS 을 포함하며, 이러한 파일들을 정적 파일이라고 부릅니다. 이러한 정적 파일들을 브라우저에 그대로 전달하는 역활을 하기 때문에 웹 서버는 💯 정적 웹 서버(Static Web Server) 라고 부르기도 한다. (예시)ngix, Apache, Web Server

❗️❗️ 웹 애플리케이션 서버(Web Application Server)

웹 애플리케이션 서버도 웹 서버와 같이 페이지를 전달하는 역활을 하기도 합니다. 그러나 WAS의 핵심 역활은 웹 페이지를 구성하는 💯동적인 컨텐츠를 생성하거나 업데이트 하는 비즈니스 로직을 수행할 수 있다.
이러한 서버 측 비즈니스 로직에 클라이언트가 접근할 수 있는 방법을 제공한다.

💡 웹 애플리케이션 서버가 갖는 특징

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

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

데이터베이스 서버

데이터베이스 서버는 사용자가 데이터베이스에 연결할 수 있도록 해준다. 데이터베이스는 사용자 정보나 사진, 동영상 등에 대한 정보를 담고 있는 서버이다. (예시) MySQL, MongoDB, Oracle

프록시 서버

프록시 서버는 리소스를 요청하는 클라이언트와 응답으로 리소스를 전달하는 서버 사이에 중계 역활을 하는 서버를 의미.
어디에 위치하느냐에 따라 포워드 프록시와 리버스 프록시로 나누어지며, 이러한 프록시 서버가 수행하는 기능으로 보안, 캐시, 로드밸런싱이 있다.

profile
내기 이해한 것을 보관하는 곳

0개의 댓글