본문 바로가기
dev/Web

Web Server

by Kyulee 2022. 1. 11.
반응형

웹서버 (web server)

  • 웹서버는 소프트웨어를 보통 의미하지만, 웹 서버 소프트웨어가 동작하는 컴퓨터를 의미하기도 한다.
  • 웹 서버의 가장 중요한 기능은 클라이언트가 요청하는 HTML 문서나 각종 리소스를 전달하는 것을 의미한다.
  • 웹 브라우저나 웹 크롤러(다른 웹 사이트 정보를 읽어 가는 기능)가 요청하는 리소스는 컴퓨터에 저장되어 있는 정적인 데이터거나 동적인 결과가 된다.

 

웹 서버 소프트웨어의 종류

  • 가장 많이 사용하는 웹 서버는 Apache, Nginx, Microsoft IIS, Google 웹서버
  • Apache웹 서버는 Apache Software Foundation에서 개발한 웹서버로 오픈소스 소프트웨어(Open-source Software)이며, 거의 대부분 운영체제에서 설치 및 사용을 할 수 있습니다.
  • Nginx차세대 웹서버로 불리며 더 적은 자원으로 더 빠르게 데이터를 서비스하는 것을 목적으로 만들어진 서버이며 Apache웹 서버와 마찬가지로 오픈소스 소프트웨어입니다.

클라이언트 / 서버 구조

서비스를 제공하는 것이 서버, 서버에게 서비스를 요청해서 보여주는 것이 클라이언트라고 할 수 있다.

DBMS

다수의 사용자들이 데이터베이스 내의 데이터를 접근할 수 있도록 해주는 소프트웨어를 의미한다.

WAS (Web Application Server)

WAS는 일종의 미들웨어로 웹 클라이언트 (보통 웹브라우저)의 요청 중 보통 웹 애플리케이션이 동작하도록 지원하는 목적을 가진다. 웹 서버의 기능도 제공(톰캣 : Tomcat)한다.

  1. 프로그램 실행환경과 데이터베이스 접속 기능을 제공한다.
  2. 여러개의 트랜잭션을 관리한다.
  3. 업무를 처리하는 비지니스 로직을 수행한다.

 

웹 서버 VS WAS

  • 웹 서버는 보통 정적인 콘텐츠를 웹 브라우저에게 전송하는 역할을 한다.
  • WAS는 프로그램의 동적인 결과를 웹 브라우저에게 전송하는 역할을 담당한다.
  • WAS도 보통 자제적으로 웹 서버 기능을 내장하고 있다.
  • 현재 WAS가 가지고 있는 웹 서버도 정적인 컨텐츠를 처리하는데 있어서 성능상 큰 차이가 없다.
  • 규모가 커질수록 웹 서버와 WAS를 분리한다. 그 목적은 장애 극복 기능(failover)인 경우가 많다.
    • 대규모 서비스에서는 무중단 운영을 위해 WAS를 앞단에서 동작하도록 한다.

 

미들웨어 (middleware)

클라이언트 쪽에서 비지니스 로직이 많은 경우, 클라이언트 관리로 인해 많은 비용이 발생하는 문제가 발생한다.

비지니스 로직을 클라이언트와 DBMS사이에서 미들웨어 서버로 동작하도록 함으로써 클라이언트는 입력과 출력만 담당하도록 한다.

반응형

'dev > Web' 카테고리의 다른 글

OSI 7계층 ( PC가 다른 PC와의 데이터 전달 과정 )  (0) 2022.09.12
server/client 동시 실행(Concurrently)  (0) 2022.03.27
npm npx yarn  (0) 2022.03.26
browser  (0) 2021.12.29
internet ( HTTP/HTTPS/URL )  (0) 2021.12.28