# 웹 서버(Web Server)와 WAS(Web Application Server)

- Author: @laetipark
- Published: 2023-10-04
- Updated: 2023-10-04
- Source: http://blex.me/@laetipark/%EC%9B%B9-%EC%84%9C%EB%B2%84web-server%EC%99%80-wasweb-application-server
- Tags: 서버, 웹서버, webserver, 동적콘텐츠, was, 정적콘텐츠

---

## Web Server
![](https://static.blex.me/images/content/2023/10/3/202310322_U4jTD4QeS5JCzW7MgUvH.png)
- 클라이언트(사용자)가 브라우저에 URL을 입력해 페이지를 요청하면, HTTP 요청을 받아 HTML 문서와 같은 **정적 콘텐츠**를 사용자에	전달해주는 역할
- Web Server 종류 : Apache, Nginx

### Web Server의 기능

1. 정적인 콘텐츠들을 WAS를 거치지 않고 클라이언트에 전달
2. 동적인 콘텐츠 제공을 위한 요청(Request)이 들어올 때, 요청을 WAS에 보내고, WAS에서 처리한 결과를 클라이언트에 응답(Response)

## WAS(Web Application Server)
![](https://static.blex.me/images/content/2023/10/4/202310415_mi8AxoWlmsBn1fTzKymy.png)
- **Web Server + Web Container** : 웹 애플리케이션(JSP, Servlet)과 서버 환경을 만들어 동작시키는 기능
- HTTP를 통해 통신하며, DB 조회나 다양한 로직 처리를 요구하는 **동적 콘텐츠**를 제공하는 소프트웨어 미들웨어 프레임워크
	- Web Server 기능들을 분리해 **정적 콘텐츠들은 Web Server**에서, **동적 콘텐츠들은 WAS에서 처리**
	- DB 접속, 조회 조작 기능을 수행하기 위해 DB 서버와도 함께 수행
	- Web Server에서 처리할 수 없는 비즈니스 로직(서버사이드 코드)를 처리
- Web Container(또는 Wervlete Container) : **JSP, Servlet의 구동 환경** 제공
- WAS 종류 : Tomcat, JBoss, Jeus, Web Sphere

## 정적 콘텐츠와 동적 콘텐츠
### 정적 콘텐츠(Static Pages)
- Html, CSS, Image, JS 처럼 컴퓨터에 저장되어 있는 파일
- Web Server에서는 파일 경로 이름을 받아 경로와 일치하는 콘텐츠들을 반환

### 동적 콘텐츠(Dynamic Pages)
- '내 정보'와 같이 요청 받은 인자들에 따라 맞게 반환되는 데이터 및 콘텐츠

## 참고
- [Web Server와 WAS의 차이와 웹 서비스 구조, heejeong Kwon](https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html)
- [Web Server와 WAS의 차이, JuHyeong.dev, Tistory](https://dkswnkk.tistory.com/503?category=551275)
