Java를 공부할 때 WAS라는 용어가 많이 등장하는데 그냥 톰캣이 WAS구나 정도로만 막연하게 생각하고 있었는데, 정확한 용어 정리를 한 적이 없음을 깨달았다. Web Server와 WAS의 개념과 차이를 잘 모르기 때문에 한번 정리하고 넘어가려고 한다.
HTML파일과 jpg, png, gif 확장자로 되어진 이미지 파일로 이루어진 정적인 문서나 이미지 파일을 웹페이지로 보여지게끔 제공해주는 서버이다.
JSP(HTML 페이지 속에 Java 소스가 올라가 있는 페이지)와 Servlet(웹기능을 하도록 만들어진 Java Class)을 실행시킬 수 있는 소프트웨어이다.
Web Server 기능 + Web Container 기능을 합친 것을 말한다.

JSP 와 Servlet 은 자바변수가 사용되어지므로 입력되어지는 변수값에 따라 그 내용이 변하기 때문에 동적 웹페이지를 구현한다.
Web Server에 JSP 페이지를 요청하면 Web Container 가 JSP 파일을 Servlet 으로 변환하여 컴파일을 수행해주고 Servlet 의 실행결과물을 Web Server에게 전달하여 화면에 보여준다.
이렇게 WAS의 개념에 대해 정리하고 나니 흔히 아파치 톰캣이라고 부르던 용어에 의문이 생겼다. Apache는 Web Server에 해당이 되고 Tomcat은 Web Container에 해당하는데 왜 "아파치 톰캣"이라고 한 단어처럼 부르는 걸까? 구글링을 통해 그 답을 찾을 수 있었다.
클라이언트에서 요청하는 HTTP 요청을 처리하는 Web Server이다.
이때, 아파치는 정적타입(HTML, CSS, 이미지 등)의 데이터만 처리한다.
=> 동적 데이터를 처리하기에 어려움이 있다.
=> 따라서 등장한 게 바로 톰캣!!
기본적으로 위처럼 아파치와 톰캣의 기능은 나뉘어져 있지만,
톰캣 안에 있는 컨테이너를 통해 일부 아파치의 기능을 발휘하기 때문에
보통 아파치 톰캣으로 합쳐서 부르곤 한다.
Apache Tomcat 용어 의문점 해결
https://velog.io/@maestroks/JVMJavaApache-Tomcat%EC%9D%84-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90