Hello, Dino
Web Server와 WAS(Web Application Server) 본문
Web Server
- Client의 요청 서비스
- WAS를 거치지 않고 정적 콘텐츠 제공
- 동적 컨텐츠(html, css, jsp) 제공을 위한 요청을 WAS에 전달
- ex) Apache
WAS(Web Application Server)
- 동적 컨텐츠를 제공하기 위한 미들웨어
- Web Container / Servlet Container라고도 불리며, JSP와 Servlet 구동 환경 제공
- 트랜잭션, 보안, 스레드 처리 등 기능을 분산하여 처리하는 분산 환경에서 사용
- ex) Tomcat
1. WAS로 요청이 오면 컨테이너는 HttpServletRequest/HttpServletResponse 객체를 생성합니다.
2. web.xml을 참조하여 어떤 Servlet에 대한 요청인지 찾는다.
3. 컨테이너는 해당 Servlet에서 Service() 메서드를 호출한 후 Client 요청 메서드(Post, Get)에 따라 doGet() 또는 doPost()를 호출합니다.
4. doGet() / doPost() 메소드는 동적인 페이지를 생성 후 HttpServletResponse 객체에 응답을 보냅니다.
5. 응답 전송이 완료되면 HttpServletRequest/HttpServletResponse 객체를 소멸합니다.
Web Server를 가지고 있는 WAS만 사용하면 되지 않을까?
=> WAS만 사용하여 정적|동적 컨텐츠를 처리하게 된다면 서버 부하 가능성이 높아진다.
때문에 정적 컨텐츠는콘텐츠는 Web Server를 이용하여 처리하고 동적 콘텐츠는 WAS를 이용하여 처리하는 것이 좋다.
아파치와 톰캣
Apache | Tomcat |
![]() |
![]() |
정적 컨텐츠를 처리하는 Web Server | 동적 컨텐츠를 처리하는 WAS |
앞 단에 Apache 서버를 두고, 뒷 단에는 Tomact을 뒀었지만
Tomcat 5.5이후 Tomcat에서 Apache의 일부 기능 (웹서비스데몬, Httpd)을 포함하고 있기 때문에 스태틱 파일 처리의 성능만을 위해서라면 굳이 앞 단에 Apache 서버를 두는 것은 불필요하다.
참고
https://mangkyu.tistory.com/14
[JSP] 서블릿(Servlet)이란?
오늘은 Spring프로젝트를 진행하면서 막혔던 Servlet(서블릿)에 대해 공부해보고자 합니다. 처음으로 웹서버 분야를 공부하는데, 역시나 망나니개발자에게 보이는 것들은 처음보는 것들 뿐 입니다 ㅎㅎ; Spring에..
mangkyu.tistory.com
wodonggun.github.io
limmmee.tistory.com
'Web > 궁금했다' 카테고리의 다른 글
POST & GET (0) | 2020.03.10 |
---|---|
Servlet (0) | 2019.10.16 |