웹 서버와 WAS는 무엇이 다를까?
톰캣은 왜 필요할까?
이번 글에서는 웹 요청이 클라이언트에서 서버까지 도달하여 처리되는 과정 중에서 서버와 WAS의 개념을 중심으로 살펴보겠습니다.
웹 개발을 하면서 서버라는 말은 자주 쓰지만 막상 정의를 떠올리면 애매할 때가 많습니다.
제가 느끼기에 서버는 브라우저에서 요청을 보내면 그 요청을 받아 처리하고 다시 응답을 돌려주는 시스템 전체를 의미합니다.
클라이언트와 소통하며 애플리케이션 로직까지 실행할 수 있는 존재라 볼 수 있습니다.
그런 관점에서 보면 WAS는 서버 중에서도 웹 애플리케이션을 실행하고 관리하는 서버라 할 수 있습니다.
쉽게 말해 서버의 한 종류이지만 현대 웹 개발에서는 대부분의 서버가 바로 WAS라 이해하면 쉽습니다.
여기서 중요한 포인트가 있습니다.
WAS는 설치하거나 사용하는 소프트웨어가 아닌 개념 자체입니다
즉 웹 애플리케이션을 실행하고 관리할 수 있는 서버라는 역할과 기능을 정의한 개념이 WAS이고 실제로 WAS를 쓰려면 Tomcat, Jetty, JBoss 같은 소프트웨어를 설치해 활용하게 됩니다.
한 가지 궁금증이 생길 수 있습니다.
웹 애플리케이션이 아닌 서버도 존재할까요?
답은 네, 존재합니다.
단순히 데이터를 전달하거나 파일만 제공하는 서버라면 굳이 WAS가 아니라 웹 서버(Web Server) 역할만으로 충분합니다.
즉 모든 서버가 WAS일 필요는 없고 서버라는 큰 범주 안에서 역할과 목적에 따라
이렇게 나뉘어 운영된다고 볼 수 있습니다.
이렇게 생각하면 서버라는 개념이 훨씬 명확해지고 WAS와 웹 서버 그리고 다른 서버들의 차이를 이해하는 데 도움이 됩니다.
이번 글에서는 서버의 개념과 WAS를 중심으로 간략히 정리해보았습니다.
부족한 부분이나 궁금하신 점이 있다면 편하게 댓글로 남겨주세요.
긴 글 읽어주셔서 감사합니다.