WebServer란 ?
웹 서버는 소프트웨어와 하드웨어로 구분되며, 하드웨어는 Web서버가 설치되어 있는 컴퓨터를 의미하고,
소프트웨어의 web 서버란 브라우저 클라이언트로 부터 HTTP 요청을 받아 들이고 HTML 문서 등과 같은 정적인 웹 페이지를 응답해주는 것을 의미한다.
정적인 웹페이지란?
웹 서버는 파일 경로를 받고, 경로와 일치하는 페이지를 반환합니다.
정적인 웹페이지는 변하지 않고 항상 동일한 페이지를 반환합니다.
그 예시로는 Apache, Nginx 등이 있다.
WAS란?
WAS(Web Application Server) 란 WebServer와 웹 컨테이너가 합쳐진 말로
웹서버가 처리할 수 없는 데이터베이스 조회나 다양한 로직이 필요한 동적인 웹사이트를 응답해준다
정적 컨텐츠와 동적 컨텐츠가 모두 존재하는 웹페이지에서 Web Server만을 이용한다면 사용자가 원하는 요청에 대한 결과값을 모두 미리 만들어 놓고 운영을 해야 한다. 하지만 이렇게 수행하기에는 자원이 부족하기 때문에 WAS를 통해 요청에 맞는 데이터를 DB에서 가져와서 그때 그때 결과를 만들어서 제공함으로써 자원을 효율적으로 사용할 수 있다.
동적인 웹사이트란?
인자의 내용에 따라 달라지는 페이지를 의미합니다. 그때 그때 달라질수 있는 페이지를 의미합니다.
그 예시로는 Tomcat이 있다.
추가로 요즘 WAS 서버에는 WEB서버 기능을 내장하고 있다. 즉 정적, 동적인 웹사이트를 한번에 운영할 수 있는 것이다.
그렇다면 WAS 만 쓰면안되는가?
WAS는 데이터베이스 처리 등 동적인 처리를 하는데 집중해야 합니다.
따라서 정적인 웹사이트는 웹서버가 처리하는 것이 WAS의 부하를 방지할 수 있다.
WAS가 동적, 정적인 웹사이트를 모두 처리하면 부하로 인해 처리, 수행속도 저하로 인해 효율성이 크게 떨어지게 됩니다.
그러므로 큰 시스템을 운영하려면 WAS와 WEB서버의 기능을 나눠 부하 분산이 필요합니다.
HTTP 통신이나 웹 통신방식에 대해 궁금하시다면 아래 게시물 참고 부탁드립니다.
2022.06.13 - [네트워크] - HTTP, HTTPS 통신
2022.03.25 - [네트워크] - 웹 동작방식은?
'서버 및 운영 > 서버' 카테고리의 다른 글
AWS 개인 서버 만들기 (0) | 2022.08.04 |
---|---|
dmesg 명령어 (0) | 2022.07.22 |
쿠버네티스 구성 요소 및 통신 (0) | 2022.06.07 |
프록시란 (Forward Proxy, Reverse Proxy)? (0) | 2022.05.26 |
Centos Jenkins 설치 (0) | 2022.05.03 |