[Spring] 웹 서버와 톰켓의 차이

웹 서버와 톰켓의 차이

정적인 자료는 Web 서버, 동적인 응답의 수행은 톰켓이 한다.

웹 서버 (아파치)

웹 서버는 정적인 자원을 응답해줄 수 있다.
웹 서버가 보내 줄 수 있는 정적인 자원이란 요청 시 마다 변하는 동적인 자원과 다르게 달라지지 않는 자원을 말한다.
정적인 자원은 서버에서 따로 변경해줄 것이 없으므로 요청이 들어오면 그 파일 자체로 응답만 해주는 역할만 하면된다.

톰켓

.jsp와 같은 자바 코드가 적혀있는 소스를 요청 받았다고 하자.
웹브라우저는 html, css, javascript, css, 정적 자료들(avi, 이미지 등등)외에는 인지를 못하고 내용이 깨져버리기 때문에 자바코드를 html로 변환하여 응답해주어야 한다. 이때 어파치는 자바 코드를 이해하지 못하기 때문에 자바 코드를 변환하여 응답하지 못한다. 따라서 톰켓에게 이를 위임한다.

톰켓에게 .jsp 파일이 전달 -> .jsp을 자바로 변환 -> 자바 파일 컴파일 -> html로 변환
위의 과정을 거치고 html 문서를 다시 아파치에게 돌려준다.
아파치는 그 html로 클라리언트에게 응답을 해준다.

과정

1