IT/면접질문

WEB WAS 차이

binary? 2024. 6. 20. 08:44
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는 비즈니스 로직을 처리하고 데이터베이스와 연동하여 동적 콘텐츠를 생성한 후 웹 서버를 통해 클라이언트에 반환합니다.

 

예시 아키텍처

  1. 클라이언트(웹 브라우저)가 URL을 입력하여 서버에 HTTP 요청을 보냅니다.
  2. 웹 서버가 요청을 받아 정적 콘텐츠를 제공하거나, 동적 처리가 필요한 요청을 **웹 애플리케이션 서버(WAS)**로 전달합니다.
  3. WAS가 비즈니스 로직을 처리하고 필요한 데이터를 데이터베이스에서 조회합니다.
  4. WAS가 동적 콘텐츠를 생성하여 웹 서버로 반환합니다.
  5. 웹 서버가 클라이언트에게 최종 응답을 보냅니다.

 

결론

  • 웹 서버 (Web Server): 정적 콘텐츠 제공, HTTP 요청 처리, 보안 제공
  • 웹 애플리케이션 서버 (WAS): 동적 콘텐츠 생성, 비즈니스 로직 처리, 데이터베이스 연동, 세션 관리

 

728x90

'IT > 면접질문' 카테고리의 다른 글

세션과 쿠키  (0) 2024.06.19