웹 서버는 클라이언트가 브라우저에서 어떤 페이지 요청을 하면 웹 서버에서 그 요청을 받아서 정적 컨텐츠를 제공하는 서버이다. 정적 컨텐츠는 주로 HTML, CSS, Javascript, 이미지 등을 말한다.
웹 서버 종류: Apache, Nginx, IIS
WAS 는 웹 서버 단독으로는 처리할 수 없는 데이터베이스의 조회나 다양한 로직 처리가 필요한 동적 컨텐츠를 제공한다.
WAS 종류: Tomcat, JBoss
웹 서버는 정적 컨텐츠만 처리하도록 기능 분배를 해서 서버 부담을 줄인다.
WAS 를 통해 요청에 맞는 데이터를 DB에서 가져와서 비즈니스 로직에 맞게 그때마다 결과를 제공하면서
자원을 효율적으로 사용할 수 있다. 만약 WAS 가 정적 컨텐츠 요청까지 처리하면, 부하가 커지고 동적 컨텐츠 처리가 지연되면서 수행 속도가 느려짐. (페이지 노출 시간이 늘어나는 문제가 생길 수 있음.)
가장 효율적인 방법은 웹 서버를 WAS 앞에 두고 필요한 WAS 들을 웹 서버에 플러그인 형태로 설정하면 효율적인 분산 처리가 가능하다고 한다.
쉽게 생각하자.
웹서버 -> 인터넷을 기반으로 클라이언트에게 웹 서비스를 제공하는 컴퓨터.
WAS -> Web Application Server, Web Application 은 웹에서 실행되는 응용 프로그램이다.
그러니 WAS 는 웹 어플리케이션과 서버 환경을 만들어서 동작시키는 기능을 제공하는 소프트웨어 프레임워크다.
웹 애플리케이션을 실행시켜서 필요한 기능을 수행하고 그 결과를 웹 서버에게 전달한다고 보면 된다.
WAS 는 동적인 페이지를 생성할 수 있는 서버이다. 데이터베이스도 접속 가능하다. 비즈니스 로직도 수행가능하다.
웹서버 + 컨테이너가 합쳐졌다고 보면 된다.
자바 계열에서는 WAS 를 웹 애플리케이션 컨테이너라고도 부름.
아래 블로그에서 많은 도움을 얻었다.
감사합니다.
https://codechasseur.tistory.com/25
https://www.youtube.com/watch?v=NyhbNtOq0Bc
'개발 정보' 카테고리의 다른 글
[Tech] DDD - 도메인 주도 설계란? (0) | 2023.01.06 |
---|---|
[Tech] CORS 란? - Cross origin resource sharing (0) | 2023.01.01 |
[Dev] 대용량 파일 전송에 UDP가 적합하지 않은 이유 (0) | 2022.10.24 |
[SW] SOLID 원칙이란 무엇인가? (0) | 2022.09.18 |
[Dev] 10월 4일 페이스북 대규모 장애 원인 간단 정리 (0) | 2022.07.29 |