네트워크 (Network)/HTTP

[HTTP] 웹 서버(Web Server) & 웹 애플리케이션 서버(WAS)

송기동 2024. 1. 31. 16:47
728x90

웹 서버 (Web Server)

- 웹 브라우저(클라이언트)로 부터 HTTP요청을 받아 HTML문서와 같은 정적 컨텐츠를 제공하는 프로그램

ex) Apache, Nginx, IIS 등

 

#  웹 서버의 기능

- 정적인 컨텐츠 요청시

   → WAS를 거치지 않고 바로 자원 제공

- 동적인 컨텐츠 요청시

   → 클라이언트 요청을 WAS로 보내고, WAS가 처리한 결과를 클라이언트에게 전달


웹 애플리케이션 서버 (WAS, Web Application Server) ★

- DB조회나 다양한 로직 처리를 요구하는 동적인 컨텐츠를 제공하기 위해 만들어진 Application Server

- HTTP를 통해 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어(소프트웨어 엔진)

- 웹 컨테이너(Web Container) 혹은 서블릿 컨테이너(Servlet Container) 라고도 불림

- WAS = Web Server + Web Container

ex) tomcat, JBoss, Jeus, Web Sphere 등

 

#  WAS의 기능

- 클라이언트로부터 HTTP 요청을 받을 수 있다.

- 요청에 맞는 동적, 정적 컨텐츠를 제공할 수 있다.

- 웹 서버 기능들을 구조적으로 분리하여 처리하고자 하는 목적

   → 분산 트랜젝션, 보안, 메시징, 쓰레드 처리등의 기능을 처리하는 분산 환경에서 사용

   → 주로 DB 서버와 같이 수행

 

#  여러 웹 서비스 아키텍처

- Client → Web Server → DB

- Client → WAS → DB

- Client → Web Server → WAS → DB

- Client → Web Server → 여러개의 WAS → DB

Client  → Web Server → WAS → DB 구조

#  서버 동작 흐름

728x90