웹 서버 - 정적 콘텐츠 제공자
웹 서버는 클라이언트(주로 웹 브라우저)로부터 HTTP 요청을 받아 정적인 HTML 파일, 이미지, CSS 파일등을 제공하는 서버이다. 웹 서버는 요청된 리소스를 클라이언트에게 그대로 반환한다. 웹 서버는 일반적으로 특정 폴더(웹 루트 디렉토리)에 정적 콘텐츠를 저장한다. 클라이언트의 요청이 들어오면, 웹 서버(컴퓨터)는 이 폴더에서 요청된 파일을 찾아 클라이언트에게 전달한다. 가장 유명한 웹 서버로는 아파치 HTTP 서버(Apache HTTP Server)와 Nginx가 있다.

즉, 인터넷에 연결된 컴퓨터에서 누구나 접근할 수 있는 규칙을 정한 특정 폴더 안에 넣어둔 정적인 파일들을 제공해주는 프로그램이다. 이 프로그램을 웹 서버라고 하며, HTML 파일, 이미지, CSS 파일 등과 같은 정적인 콘텐츠들을 클라이언트(웹 브라우저)에게 제공한다.
웹 서버의 주요 기능
- HTTP 요청 처리 : 클라이언트로부터 HTTP 요청을 받아 처리한다.
- 정적 콘텐츠 제공 : HTML 파일, 이미지, CSS 파일 등 정적인 리소스를 제공하는 역할
- 요청된 리소스 반환 : 클라이언트가 요청한 리소스를 찾아 그대로 반환한다. (index.html 파일을 요청하면, 웹 서버는 웹 루트 디렉토리에서 index.html 파일을 찾아 전달한다.)
웹 애플리케이션 서버(WAS) - 동적 콘텐츠 제공자
웹 애플리케이션 서버(WAS)는 동적인 웹 애플리케이션을 실행시키기 위한 서버이다. WAS는 서블릿, JSP와 같은 동적 콘텐츠를 처리하고 비즈니스 로직을 실행한다. WAS는 주로 데이터베이스와 연동하여 동적인 데이터를 생성하고 클라이언트에게 반환한다. 유명한 WAS로는 Apache Tomcat, JBoss, WebSphere 등이 있다.

즉, 웹 서버로부터 오는 동적인 요청을 처리하는 서버를 말한다. 웹 서버와 컨테이너를 붙여놓은 서버라고 생각할 수 있다.
WAS의 주요 기능
- 동적 콘텐츠 생성 (서블릿, JSP 등)
- 비즈니스 로직 처리
- 데이터베이스와 연동
- 세션 관리 및 트랜잭션 관리
웹 서버와 WAS의 차이점
|
항목
|
웹 서버
|
웹 애플리케이션 서버 (WAS)
|
|
주요 기능
|
정적 콘텐츠 제공
|
동적 콘텐츠 생성 및 비즈니스 로직 처리
|
|
예시
|
Apache HTTP Server, Nginx
|
Apache Tomcat, JBoss, WebSphere
|
|
비유
|
도서관 사서
|
레스토랑 주방장
|
함께 사용하는 이유
웹 서버와 WAS는 보통 함께 사용된다. 웹 서버는 클라이언트로부터의 모든 요청을 받으며, 정적 콘텐츠에 대한 요청은 직접 처리하고, 동적 콘텐츠에 대한 요청은 WAS로 전달한다. 이는 시스템의 성능과 보안을 향상시키는 데 도움이 된다.
도서관(웹 서버)에서는 책(정적 콘텐츠)을 직접 제공하고, 도서관에서 운영하는 카페(WAS)에서는 주문한 음료나 음식(동적 콘텐츠)을 만들어 제공한다. 두 시설은 서로 협력하여 방문객의 다양한 요구를 충족시킨다.
정리
- 웹 서버 : 정적 콘텐츠를 제공하는 서버. 클라이언트의 요청을 받아 HTML 파일, 이미지 등을 반환한다. 예를 들어, Apache HTTP Server, Nginx 등이 있다.
- 웹 애플리케이션 서버 (WAS): 동적 콘텐츠를 생성하고 비즈니스 로직을 처리하는 서버. 서블릿과 JSP를 실행하고 데이터베이스와 연동하여 데이터를 처리한다. 일반적으로 WAS는 웹 서버와 통합되어 동작하며, 클라이언트의 요청을 처리하여 직접 응답하거나, 필요한 경우 웹 서버를 통해 클라이언트에게 응답을 전달한다. 예를 들어, Apache Tomcat, JBoss, WebSphere 등이 있다.
'Java' 카테고리의 다른 글
| 서블릿 (0) | 2024.07.03 |
|---|---|
| WAS와 웹 컨테이너의 역할 (0) | 2024.07.02 |
| HTTP 사전 기반 기초 지식 (1) | 2024.07.02 |
| JDBC 성능 최적화 (0) | 2024.06.27 |
| JDBC를 활용한 CRUD 와 SOLID 원칙 (1) | 2024.06.27 |