💡 WEB과 WAS의 차이점을 명확하게 구분하고 계신가요?
JAVA Aplication WAS 구조
클라이언트로부터 시작된 요청이 정적자원인 Web Server로 이어지고, 이때 submit이나 a 태그 등등 우리가 쉽게 사용해왔던 서버를 이용한 처리라면 WAS로 그게아니라면 다시 Client로 돌아가는 것이다.
WAS : 동적처리 ( 컨트롤러를 통한 연산 혹은 DB조회 )
WEB : 정적처리 ( 사진, 파일 등등 )
왜 구분했는지...?
- WEB Server에서는 정적 컨텐츠만 처리하도록 기능 분배를 해서 서버 부담을 줄이며, 모든 요청은 WEB Server로 부터 받아들여지고 동적요청에 한해서만 WAS로 보내준다.
- 컴파일이 필요한 JSP 파일의 경우에는 WEB Container를 이용해서만 열 수 있다.
- WAS는 Controller를 통하여 이루어지는 서버단의 처리 ( 비지니스로직, DB )를 작업한다.
- tomcat 5버전부터는 WAS에 WEB서버를 내장시키고 있다.
- WAS = WEB + WEB CONTAINER
Web Service Architecture
- 웹 어플리케이션은 요청 처리 방식에 따라 다양한 구조를 가질 수 있다.
a. 클라이언트(사용자) -> Web Server -> DB
b. 클라이언트(사용자) -> WAS -> DB
c. 클라이언트(사용자) -> Web Server -> WAS -> DB
Apache Tomcat
Apache = WEB서버
Tomcat = WAS서버