728x90
WEB과 WAS 차이
Web/WAS는 웹 서버(Web Server)와 웹 애플리케이션 서버(Web Application Server)의 약자입니다. 이 두 가지는 웹 애플리케이션을 운영하고 서비스하는 데 중요한 역할을 합니다. 아래에서 차이점을 알아보겠습니다.
1. 웹 서버 (Web Server)
웹 서버는 클라이언트(주로 웹 브라우저)로부터 HTTP 요청을 받고, 그에 대한 HTTP 응답을 반환하는 역할을 합니다. 웹 서버의 주요 기능은 정적 콘텐츠(HTML, CSS, JavaScript, 이미지 등)를 제공하는 것입니다.
주요 기능
- HTTP 요청 처리: 클라이언트로부터 들어오는 HTTP 요청을 받아 처리합니다.
- 정적 콘텐츠 제공: HTML 파일, 이미지, 스타일시트, JavaScript 파일 등 정적 파일을 제공합니다.
- 요청 라우팅: 요청 URL에 따라 적절한 자원(파일 또는 애플리케이션)에 라우팅합니다.
- 보안: SSL/TLS를 통해 데이터 전송의 보안을 제공합니다.
예시
- Apache HTTP Server: 가장 널리 사용되는 오픈 소스 웹 서버
- Nginx: 성능과 확장성이 뛰어난 웹 서버 및 리버스 프록시 서버
2. 웹 애플리케이션 서버 (WAS)
웹 애플리케이션 서버는 동적 웹 애플리케이션을 실행하는 데 필요한 환경을 제공합니다. 웹 서버가 주로 정적 콘텐츠를 제공하는 데 비해, WAS는 데이터베이스와 연동하고 비즈니스 로직을 처리하여 동적 콘텐츠를 생성합니다.
주요 기능
- 동적 콘텐츠 생성: 사용자의 요청에 따라 동적으로 콘텐츠를 생성합니다. 예를 들어, 사용자가 로그인하면 데이터베이스에서 사용자 정보를 가져와 개인화된 페이지를 제공합니다.
- 비즈니스 로직 처리: 애플리케이션의 비즈니스 로직을 처리합니다.
- 데이터베이스 연동: 데이터베이스와의 통신을 통해 데이터를 조회, 삽입, 갱신, 삭제하는 작업을 수행합니다.
- 세션 관리: 사용자 세션을 관리하여 상태 정보를 유지합니다.
예시
- Apache Tomcat: 자바 서블릿과 JSP를 실행할 수 있는 오픈 소스 웹 애플리케이션 서버
- JBoss/WildFly: Java EE 기반의 오픈 소스 애플리케이션 서버
- WebSphere: IBM의 상업용 웹 애플리케이션 서버
- WebLogic: Oracle의 상업용 웹 애플리케이션 서버
Web/WAS의 역할과 관계
웹 서버와 웹 애플리케이션 서버는 종종 함께 사용되며, 각자의 역할을 분담하여 웹 애플리케이션을 효율적으로 운영합니다. 일반적인 아키텍처에서는 웹 서버가 클라이언트 요청을 받아 정적 콘텐츠를 제공하거나, 동적 요청을 WAS로 전달합니다. WAS는 비즈니스 로직을 처리하고 데이터베이스와 연동하여 동적 콘텐츠를 생성한 후 웹 서버를 통해 클라이언트에 반환합니다.
예시 아키텍처
- 클라이언트(웹 브라우저)가 URL을 입력하여 서버에 HTTP 요청을 보냅니다.
- 웹 서버가 요청을 받아 정적 콘텐츠를 제공하거나, 동적 처리가 필요한 요청을 **웹 애플리케이션 서버(WAS)**로 전달합니다.
- WAS가 비즈니스 로직을 처리하고 필요한 데이터를 데이터베이스에서 조회합니다.
- WAS가 동적 콘텐츠를 생성하여 웹 서버로 반환합니다.
- 웹 서버가 클라이언트에게 최종 응답을 보냅니다.
결론
- 웹 서버 (Web Server): 정적 콘텐츠 제공, HTTP 요청 처리, 보안 제공
- 웹 애플리케이션 서버 (WAS): 동적 콘텐츠 생성, 비즈니스 로직 처리, 데이터베이스 연동, 세션 관리
728x90