본문 바로가기

Spring Boot

Web Server와 Web Application Server, 그리고 내장 Tomcat에 대해

Web Server(웹 서버)와 Web Application Server(WAS, 웹 애플리케이션 서버)는 인터넷상에서 데이터와 서비스를 교환할 수 있는 기술임. 클라이언트-서버 아키텍처는 인터넷의 기본 메커니즘이라고 한다.

클라이언트 - Controller - Service - Repository 라고 했던가..

웹사이트나 애플리케이션을 방문하면 브라우저(Client)가 원격 서버에 데이터를 요청하고 응답을 표시한다.

웹 서버는 클라이언트 요청에 응답하여 이미지, 파일, 텍스트와 같은 "정적" 데이터를 제공하는 소프트웨어 구성요소이다.

 

웹 서버와 WAS에는 서로 다른 독립적인 프로세스가 있다.

 

 

Web Server(웹 서버)는 웹사이트에 적힌 코드와 데이터를 호스팅하는 기술임

브라우저에 URL을 입력할 때, 이 URL은 웹 서버의 주소 식별자를 의미한다

 

브라우저와 웹 서버의 통신과정 : 브라우저 - 웹서버 - DB서버 - 웹서버 - 브라우저

1. 브라우저가 URL을 통해 서버의 IP주소를 찾는다

2. 브라우저가 정보에 대한 HTTP요청을 보냄

3. 웹 서버는 DB 서버와 통신하여 관련 데이터를 찾는다. (핵심 비즈니스 로직?)

4. 웹 서버가 HTTP 응답으로 HTML 페이지, 이미지, 비디오 또는 파일과 같은 정적 데이터를 브라우저에 반환함

5. 브라우저에 정보가 표시된다!

 

이미지, 신문기사 등 정적 콘텐츠를 호스팅하는 웹사이트는 웹 서버를 통해 실행할 수 있다.

하지만 대부분의 웹사이트와 웹 애플리케이션은 정적 콘텐츠만 다루지 않는 대화형이기 때문에 웹 애플리케이션 서버가 필요함

 

 

Web Application Server(애플리케이션 서버)는 동적 콘텐츠 생성, 애플리케이션 로직 및 다양한 리소스와 통합을 지원하여 웹 서버의 기능을 확장한다.

애플리케이션 코드를 실행하고 메시지 시스템 및 DB와 같은 다른 소프트웨어 구성 요소와 상호작용할 수 있는 런타임 환경을 제공함. 또한 비즈니스 로직을 사용하여 웹 서버보다 더 의미있게 데이터를 변환한다.

 

브라우저와 웹 애플리케이션 서버의 통신과정 : 브라우저 - 웹서버 - 애플리케이션 서버 - 웹서버 - 브라우저

1. 브라우저가 URL을 통해 서버의 IP주소를 찾음

2. 브라우저가 정보에 대한 HTTP 요청을 보냄

3. 웹 서버가 요청을 애플리케이션 서버로 전송함

4. 애플리케이션 서버가 비즈니스 로직을 적용하고 다른 서버 및 서드 파티 시스템과 통신하여 요청을 수행함

5. 애플리케이션 서버가 새 HTML 페이지를 랜더링하고 이를 응답으로 웹 서버에 반환함

6. 웹 서버가 브라우저에 응답을 반환함

7. 브라우저에 정보가 표시된다!

'Spring Boot' 카테고리의 다른 글

Spring AOP가 필요한 이유  (1) 2025.07.01
DTO  (2) 2025.06.26
Spring 연습예제 1  (0) 2025.06.24
Spring 핵심 개념 - AOP  (3) 2025.06.24
Spring 핵심 개념 - Bean  (1) 2025.06.23