웹 서버와 WAS(Web Application Server) 서버는 웹 상에서 서비스를 제공하기 위해 사용되는 서버입니다.
웹 서버 (Web Server)
웹 서버는 주로 HTML, CSS, JavaScript, 이미지 파일 등 정적 콘텐츠를 클라이언트에게 제공하며, 클라이언트의 HTTP 요청을 받아 응답을 제공합니다. 정적 콘텐츠가 아닌 동적 콘텐츠 요청은 WAS에 전달하고, WAS에서 처리한 결과를 클라이언트에 전달하는 역할도 수행합니다.
WAS (Web Application Server)
WAS는 동적인 비즈니스 로직을 처리하고, 데이터베이스와 상호작용하며, 동적 콘텐츠를 생성해 클라이언트에 제공하는 역할을 합니다. 웹 애플리케이션 실행 환경을 제공하고, 데이터베이스 트랜잭션과 사용자 세션을 관리하며, 데이터베이스 연결 풀링과 쓰레드 풀링을 통해 시스템 자원을 효율적으로 관리합니다.
웹 서버와 WAS 서버 비교
항목 | 웹 서버 | WAS 서버 |
정의 | 정적인 콘텐츠(HTML, CSS, 이미지 등)를 제공하는 서버 | 동적인 콘텐츠(웹 애플리케이션)를 처리하고 제공하는 서버 |
기능 | HTTP 프로토콜을 이용해 클라이언트에게 웹 페이지 제공 | 웹 애플리케이션 실행 및 데이터 처리, 웹 서버와 클라이언트 간의 중계 역할 |
주요 소프트웨어 | Apache, Nginx, IIS | Tomcat, JBoss, WebLogic, WebSphere |
웹 서버와 WAS(Web Application Server)를 분리해서 사용하는 이유
- 성능 최적화: 웹 서버는 정적 콘텐츠를 빠르게 제공하고, WAS는 동적 콘텐츠와 비즈니스 로직을 처리하여 각 서버의 부하를 분산시킵니다.
- 보안 강화: 웹 서버는 외부 요청을 처리하고, WAS는 내부 네트워크에서만 동작하도록 하여 보안을 강화할 수 있습니다.
- 확장성: 웹 서버와 WAS를 독립적으로 확장할 수 있어 트래픽 증가에 유연하게 대응할 수 있습니다.
- 유지보수성: 웹 서버와 WAS를 분리함으로써 각각을 독립적으로 관리하고 업데이트할 수 있습니다.
- 전문화된 역할: 웹 서버는 정적 콘텐츠 제공에, WAS는 동적 콘텐츠 생성에 최적화되어 있어 전체 시스템의 효율성을 높일 수 있습니다.
- 무중단 운영: 대용량 웹 애플리케이션의 경우 여러 WAS를 사용해 서비스가 중단되지 않도록 합니다. 업데이트와 유지보수 시에도 각 WAS를 순차적으로 처리하여 항상 접속이 가능하게 합니다.
'CS' 카테고리의 다른 글
HTTP와 HTTPS의 차이 (0) | 2024.08.26 |
---|---|
동시성과 병렬성의 개념과 차이 (2) | 2024.07.24 |
프로세스와 스레드의 기본 개념과 멀티스레딩 및 멀티프로세싱 비교 (0) | 2024.07.20 |
HTTP 상태 코드 (0) | 2024.07.19 |
Web Storage, Session, Cookie(웹 스토리지, 세션, 쿠키) (2) | 2024.07.06 |