이것저것
Web Server vs WAS 본문
Web Server
클라이언트로부터 HTTP 요청을 받아 HTML 문서나 각종 리소스를 전달하는 컴퓨터
Client : 주문을 하는 고객
Web Server : 주문을 받는 사람
손님은 HTTP 요청을 보낸다 (뭐뭐 페이지를 달라~)
서버는 클라이언트의 요청을 기다리고, 요청에 대한 데이터를 만들어서 응답 (정적 컨텐츠로 한정)
WAS
웹 애플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 sw 프레임워크
Web Server + Web Container
HTML 과 같은 정적인 페이지에서 처리할 수 없는 비즈니스 로직이나 DB 조회같은 동적인 컨텐츠를 제공
Web Server 와 WAS 차이
Web Server는 정적인 컨텐츠를 다루고, WAS는 정적이고 동적인 컨텐츠를 모두 다룬다.
Q : 그렇다면 Tomcat과 같은 WAS만 사용하면 되는데 왜 Apache와 같은 Webserver가 필요할까?
Web Server와 WAS를 분리한 경우
왜 분리할까?
- 기능을 분리하여 서버 부하 방지
- WAS는 DB 조회 등 페이지를 만들기 위한 다양한 로직을 처리하는데 단순한 정적 콘텐츠를 WAS에서 제공한다면 다른 작업에 사용하는 리소스들로 인해 지연 발생 가능 (그러나, tomcat 5.5 부터는 크게 차이 없음)
- 물리적으로 분리하여 보안 강화
- SSL 에 대한 암복호화 처리에 Web Server를 사용한다.
- 공격에 대해 WebServer를 앞단에 두어 중요한 정보가 담긴 DB나 로직까지 (WAS까지) 전파되지 못하게 한다.
- 여러 대의 WAS를 연결 가능
- Load Balancing
- fail-over, fail-back
- 대용량 웹 애플리케이션의 경우 (여러 개의 서버 사용) Web Server와 WAS를 분리하여 무중단 운영을 위한 장애 극복에 쉽게 대응할 수 있다.
- 다른 종류의 WAS로 서비스 가능
- 하나의 서버에서 PHP Application 과 JAVA Application을 함께 사용하는 경우
(둘 다, Thread를 통해 프로그램을 실행)
'Web' 카테고리의 다른 글
Session, Cookie 에 관하여 (0) | 2021.02.17 |
---|---|
Web Socket (0) | 2021.01.18 |
Request, Response 흐름 과정 (0) | 2021.01.16 |
Proxy (0) | 2021.01.07 |
GET vs POST (0) | 2021.01.07 |
Comments