본문 바로가기

카테고리 없음

WEB Server vs WAS

웹(Web)이란?

웹(Web)은 인터넷을 기반으로 정보를 공유하고 검색할 수 있도록 하는 서비스이다.

웹은 다음과 같은 3가지 주요 요소로 구성된다.

  1. URL(주소): 특정 웹 페이지나 리소스의 위치를 나타내는 주소
  2. HTTP(통신 규칙): 클라이언트와 서버가 데이터를 주고받을 때 사용하는 프로토콜
  3. HTML(내용): 웹 페이지의 구조와 내용을 정의하는 언어

서버(Server)란?

서버(Server)는 클라이언트(Client)에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템이다.

서버의 역할은 클라이언트의 요청을 받아 해당 요청에 맞는 데이터를 응답하는 것이다.

웹 서버(Web Server)란?

웹 서버(Web Server)는 인터넷을 통해 클라이언트(주로 웹 브라우저)에게 정적인 웹 콘텐츠(HTML, CSS, 이미지, JavaScript 등)를 제공하는 서버이다.

 

웹 서버의 작동 원리

  1. 클라이언트(브라우저)는 웹 서버에게 URL을 사용해 HTTP 요청을 보낸다.
  2. 웹 서버는 요청받은 파일(HTML, CSS, 이미지 등)을 찾아서 응답한다.
  3. 클라이언트는 받은 데이터를 화면에 표시한다.

웹 서버는 HTML과 같은 정적인 데이터만 제공하기 때문에, 간단한 계산 같은 동적인 기능을 수행할 수 없다.

즉, 웹 서버는 단순히 파일을 찾아서 전달하는 역할만 수행한다.


웹 애플리케이션 서버(WAS)란?

웹 애플리케이션 서버(Web Application Server, WAS)는 웹에서 실행되는 응용 프로그램(Web Application)을 동작시키는 환경을 제공하는 서버이다. 웹 서버와 달리 동적인 데이터를 생성할 수 있다.

 

1. WAS의 역할

  1. 웹 애플리케이션 실행 환경 제공: PHP, JSP, ASP 등 프로그래밍 언어로 작성된 웹 애플리케이션을 실행할 수 있는 환경을 제공한다.
  2. 비즈니스 로직 수행: 사용자 요청을 처리하고, 필요한 연산을 수행한다.
  3. 데이터베이스 연동: 데이터베이스와 연결하여 데이터를 읽고 저장할 수 있다.
  4. 웹 서버와 협력: 클라이언트 요청을 웹 서버로부터 받아 처리한 후, 결과를 웹 서버에 전달하여 응답한다.

2. 웹 애플리케이션 컨테이너

 

WAS에는 웹 애플리케이션 컨테이너(Web Application Container)가 포함되어 있다.

  • 컨테이너(Container): 웹 애플리케이션(JSP, Servlet 등)을 실행할 수 있는 환경을 제공하는 소프트웨어.
  • 웹 애플리케이션 컨테이너: WAS 내부에서 애플리케이션이 배포되고 실행되는 공간을 의미.

3. 웹 서버(Web Server) 와 WAS(Web Application Server) 비교

항목 웹 서버 (Web Server) WAS (Web Application Server)
제공하는 데이터 정적인 콘텐츠 (HTML, CSS, JS, 이미지) 동적인 콘텐츠 (JSP, PHP, 데이터베이스 연동)
비즈니스 로직 수행 ❌ 불가능 ✅ 가능
데이터베이스 연동 ❌ 불가능 ✅ 가능
기능 정적인 웹 페이지 제공 웹 애플리케이션 실행 및 데이터 처리
예시 Apache, Nginx Tomcat, JBoss, WebLogic

 

4. 웹 서버와 WAS의 협업 구조

웹 서버와 WAS는 함께 동작하여 효율적인 웹 서비스 환경을 구성할 수 있다.

  1. 클라이언트가 웹 서버에 HTTP 요청을 보냄
  2. 웹 서버는 정적 리소스(HTML, CSS, 이미지 등) 요청이면 직접 응답
  3. 동적 요청(JSP, 데이터베이스 연동 등)이면 WAS로 전달
  4. WAS가 비즈니스 로직을 처리하고 데이터베이스에서 필요한 정보를 조회
  5. WAS가 생성한 결과를 웹 서버에 전달
  6. 웹 서버가 클라이언트에게 최종 응답을 전송

웹 서버는 정적인 데이터를 제공하는 역할을 하며, WAS는 웹 애플리케이션을 실행하고 동적인 데이터를 생성하는 역할을 한다.

대규모 서비스에서는 웹 서버와 WAS를 함께 사용하여 성능을 최적화하는 것이 일반적이다.

웹 서버는 클라이언트와 WAS 간의 중간 역할을 하며, 정적 리소스 제공과 부하 분산을 담당한다.

WAS는 웹 애플리케이션을 실행하고 데이터베이스와 연동하여 사용자 요청을 처리하는 중요한 역할을 한다.

 

📝 정리

  • 웹 서버(Web Server): 정적인 데이터를 제공 (Apache, Nginx)
  • WAS(Web Application Server): 동적인 데이터를 생성 및 처리 (Tomcat, JBoss, WebLogic 등)
  • 웹 서버 + WAS 조합: 빠르고 효율적인 웹 서비스 구축 가능