728x90

apache 란?
apach란 것은 소프트웨어 단체 이름이다. 그리고 우리가 흔히 부르는 아파치서버라는 것은 이제단에서 후원하는 오픈소프 프로젝트 커뮤니티에서 만든 http웹서버를 지칭하는 말이다. (아파치 프로젝트는 웹서버 외에도 여러가지 프로젝트를 진행하고 있다고 한다. 이건 추후에 조사해볼것이다.) http 웹서버는 http 요청을 처리할 수 있는 웹서버이고, 아파치 http서버는 http요청을 처리하는 웹서버인 것이다. 클라이언트가 GET, POST, DELETE 등등의 메소드를 이용해 요청을 하면 이 프로그램이 어떤 결과를 돌려주는 기능을 한다. 아파치는 웹서버 이다!

tomcat 이란?
tomcat은 흔히 WAS(Web Application Server)라고 말한다. WAS는 웹서버와 웹 컨테이너의 결합으로 다양한 기능을 컨테이너에 구현하여 다양한 역할을 수행할 수 있는 서버를 말한다. 클라이언트의 요청이 있을 때 내부의 프로그램을 통해 결과를 만들어내고 이것을 다시 클라이언트에 전달해주는 역할을 하는 것이 바로 웹 컨테이너 이다. 앞에서 본 아파치 웹 서버와 차이는 이 컨테이너 기능이 가능하냐의 차이가 가장 크다고 생각한다.

PROVENANCE/source/출처:
http://sungbine.github.io/tech/post/2015/02/15/tomcat과%20apache의%20연동.html

 

 

 

 

웹서버는 정적인 컨텐츠(html, css, js)를 제공하는 서버(서버프로그램)이다. Apache, Nginx

WAS는 DB조회나, 어떤 로직을 처리해야 하는 동적인 컨텐츠를 제공하는 서버(서버프로그램)이다. Tomcat, Jeus

 

웹서버와 WAS는 각각 독립적으로 존재할 수 있다.

대부분의 WAS는 정적인 컨텐츠를 제공해주고 있기 때문에, 웹서버 없이 WAS만 존재할 수 있다.

 

 

웹서버 사용이유:

1) WAS가 해야할 일의 부담을 줄이기 위해서.

WAS 앞에 웹서버를 둬서 웹서버에서는 정적인 문서만 처리하도로고 하고, WAS는 애플리케이션의 로직만 수행하도록 기능을 배분하여 서버의 부담을 줄이기 위한 것

 

2) WAS의 환경설정 파일을 외부에 노출시키지 않도록 하기 위해서.

클라이언트와 연결하는 포트가 직접 WAS에 연결되어 있다면 중요한 설정 파일들이 노출될 수 있기 때문에 웹서버를 앞단에 배치.

웹서버와 WAS에 접근하는 포트가 다르기 떄문에, WAS에 들어오는 포트에는 방화벽을 쳐서 보안을 강화할 수도 있다.

 

 

 

 

*추가적으로 궁금해서 검색해봤던 내용

stackoverflow.com/questions/36636790/how-node-js-is-different-from-tomcat

 

How Node.js is different from Tomcat

I am new to Node and still going through it. I have some doubts: Being a server-side framework, how is it different than Tomcat? If I am producing some REST APIs, can I host them on a Node server ...

stackoverflow.com

'Java' 카테고리의 다른 글

[Java] 연산 표기법  (0) 2020.08.18
[Java] JDK > JRE > JVM  (0) 2020.08.04
[스프링] JPA  (0) 2020.06.24
[Java] Teachable MachineLearning with Google.  (0) 2020.06.19
[Java] JSON형식 Parsing  (0) 2020.06.09

+ Recent posts