Spring_SpringBoot/이론
[ WEB ] [ WAS ]
한번은하자
2024. 7. 7. 13:31
개인적으로 HTTP요청이 들어오면 WEB에는 정적인 콘텐츠, WAS는 동적인 컨텐츠를 가져오는 것은 안다.
대략적으로 알지 말고 쫌 자세히 알아보자.
다음은 클라이언트와 서버와의 통신 이해를 위한 그림이다.
1. WEB
웹 서버는 요청이 정적 페이지면 자신이 처리하고, 동적 페이지에 관한 메세지가 있으면 웹 어플리케이션 서버에
위임하게 된다. 데이터의 수정, 삭제 등의 조작이 필요할 땐 웹 애플리케이션 서버는 데이터 베이스 서버와 연동하여
데이터를 수정하고, 요청의 결과를 html파일로 만들어서 웹 서버에 반환한다.
→ Tomcat으로만 하면 문제인 이유
Tomcat WAS자체에서도 정적인 콘텐츠(HTML, CSS, JavaScript, 이미지 파일 등)를 서빙한다. HTTP 프로토콜을
통해 클라이언트 요청을 처리하고, 파일 시스템에서 정적 리소스를 찾아서 응답으로 전송합니다.
그런데 문제는 WEB Server를 통해서 처리할 수 있는 것도 굳이 WAS안에 있는 HTTP Server로 들린다는 것이다.
그러므로 사이트의 규모가 커지면 WEB Server(Apache, Nginx 등)을 따로 둬서 효율적으로 구축하는 것이 좋다.
2. WAS
정적인 페이지의 한계를 느끼고 동적인 페이지를 생성하기 위한 단계이다. Java내에서 데이터를 가공하거나
데이터 베이스를 통한 CRUD를 통해서 데이터를 조작하는 것에 해당한다.