반응형
아파치 톰캣(Apache Tomcat)❓
우리가 알고 있는 아파치 톰캣은 무엇인가??
우리는 아파치 톰캣을 이용해서 웹서버를 띄우고 개발을 진행했을것이다.
그런데, 실제 일을 하게되면 tomcat과 apache를 별도로 실행해서 사용하는 경우가 대다수이다.😱
그렇다면 Apache Tomcat은 두 개의 프로그램을 합쳐놓은 것일가라는 의문이 들수 있기때문에 한번 정리를 해본다👏
Apache란❓
- Apache란 것은 소프트웨어 단체 이름이다.
- 우리가 흔히 부르는 아파치서버라는 것은 이 제단에서 후원하는 오픈소스 프로젝트 커뮤니티에서 만든 http웹서버를 지칭하는 말이다.
- 아파치 HTTP서버는 HTTP요청을 처리하는 웹 서버인 것이다.
- 클라이언트가 GET, POST, DELETE 등등의 메서드를 이용해 요청을 하면 이 프로그램이 어떤 결과를 돌려주는 기능을 한다.
Tomcat이란❓
- Tomcat은 흔히 WAS(Web Application Server)라고 말한다.
- WAS는 웹서버와 웹 컨테이너의 결합으로 다양한 기능을 컨테이너에 구현하여 다양한 역할을 수행할 수 있는 서버를 말한다.
- 클라이언트의 요청이 있을때 내부의 프로그램을 통해 결과를 만들어내고 이것을 다시 클라이언트에 전달해주는 역할을 하는 것이 바로 웹 컨테이너이다.
- 앞에서 본 아파치 웹서버와 차이는 이 컨테이너 기능이 가능 여부의 차이가 가장 크다고 할 수 있다.
Apache와 Tomcat의 차이는❓
그러면 WAS만 쓰면 되지 왜 웹서버를 따로 쓰냐??? 그 이유는 목적이 다르기 때문이다.
- 웹 서버(Apache)는 정적인 데이터를 처리하는 서버이다. 이미지나 단순 html파일과 같은 리소스를 제공하는 서버는 웹 서버를 통하면 WAS를 이용하는 것보다 빠르고 안정적이다.
- WAS(Tomcat)은 동적인 데이터를 처리하는 서버이다. DB와 연결되어 데이터를 주고 받거나 프로그램으로 데이터를 조작이 필요한 경우에는 WAS를 활용해야 한다.
요청흐름❓
클라이언트가 브라우저에서 요청을 보내면 다음과 같이 웹 서버와 WAS 서버를 거쳐 응답이 돌아오게 된다.
요청(웹 브라우저) -> 웹 서버 -> WAS(동적 처리) -> 웹 서버 -> 응답(웹 브라우저)
두 서버의 목적의 차이 때문에 두 개의 서버를 연동해서 사용하면 더욱 효과적인 서비스를 제공할 수 있다❗
사용자 요청은 http 웹 서버(Apache)를 통해 받고, 내부프로그램은 WAS(Tomcat)를 통해 처리하는 식으로 한다면 정적인 데이터와 동적인 데이터를 효과적으로 처리가 가능하다👍
반응형
'ETC' 카테고리의 다른 글
[JPA] 오류 : Unable to locate Attribute with the the given name [id] on this ManagedType (0) | 2021.07.08 |
---|---|
[Linux] jar파일 백그라운드로 실행시키기 (0) | 2021.06.12 |
대용량트래픽 견디기 (Scale UP & Scale Out ) (0) | 2021.06.11 |
[JAVA] 정해진 자리수만큼 0으로 공백채우기 (0) | 2021.06.11 |
[Linux] CentOS7 Redis 설치 (0) | 2021.06.08 |