본문 바로가기

Web/기초

[WEB기초] 톰켓(Tomcat)과 일반 웹서버(Web Server)의 차이

  • apache(Web Server) : 소프트웨어 단체 이름, 아파치 서버는 http웹서버를 지칭하는 말.
  • http웹서버 : http 요청을 처리할 수 있는 웹서버이고, 아파치 http서버는 http요청을 처리하는 웹서버.
  • 톰캣(Web Application Server) : 웹 서버 + 웹 컨테이너. 다양한 기능을 컨테이너에 구현하여 다양한 역할을 수행할 수 있는 서버.
  • 웹 컨테이너 : 클라이언트의 요청이 있을 때 내부의 프로그램을 통해 결과를 만들어내고, 이것을 다시 클라이언트에 전달해주는 역할을 하는 것.
  • 일반 웹서버와 톰캣의 차이는 웹 컨테이너 기능을 수행할 수 있냐의 차이.

1. 톰켓(Apache Tomcat, WAS - Web Application Server)

Java Servlet, JavaServer Pages, JAva Expression Language 및 WebSocket 기술의 오픈소스 구현이다.

출처 : http://gap85.tistory.com/45

WAS역시 웹 서버로써 역할을 수행할수 있다. 하지만 목적이 다르기 때문에 웹서버를 별도로 사용한다.

웹 서버는 정적인 데이터를 처리하는 서버이다. 이미지나 단순 html파일과 같은 리소스를 제공하는 서버는 웹 서버를 통하면 WAS를 이용하는 것보다 빠르고 안정적이다.

WAS는 동적인 데이터를 처리하는 서버이다. DB와 연결되어 데이터를 주고 받거나 프로그램으로 데이터 조작이 필요한 경우에는 WAS를 활용 해야 한다.

하지만 톰켓은 5.5부터 스태틱 파일을 처리하는 기능을 제공한다고 한다. 단지 스태틱 파일 처리의 성능만을 위해서라면 굳이 톰캣 앞에 웹 서버(Apache)를 주는 것은 불필요하다. 오히려 메모리만 많이 먹고, 관리부담은 커지고, 불필요한 부하만 걸릴 뿐이다. 

  • 진짜 이유

  1. 보안 강화(Apache에서 해킹을 당하여도 WAS에서는 정상작동)
  2. 로드밸런싱(특정서버에서 에러/과부하가 발생하였을 경우 다른 서버에서 정상적으로 서비스하기 위함)
  3. 하나의 웹 서버(Apache)에서 다른언어의 어플리케이션을 함께 사용할 때

출처 : https://round1tko.tistory.com/64

 

 

 

출처

en.wikipedia.org/wiki/Apache_Tomcat

 

Apache Tomcat - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Java-based HTTP web server environment Apache Tomcat (called "Tomcat" for short) is an open-source implementation of the Java Servlet, JavaServer Pages, Java Expression Language and We

en.wikipedia.org

en.wikipedia.org/wiki/Web_container

 

Web container - Wikipedia

A web container (also known as a servlet container;[1] and compare "webcontainer"[2]) is the component of a web server that interacts with Jakarta Servlets. A web container is responsible for managing the lifecycle of servlets, mapping a URL to a particula

en.wikipedia.org

ko.wikipedia.org/wiki/%EC%9B%B9_%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98

 

웹 애플리케이션 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 웹 애플리케이션(web application) 또는 웹 앱은 소프트웨어 공학적 관점에서 인터넷이나 인트라넷을 통해 웹 브라우저에서 이용할 수 있는 응용 소프트웨어를 말

ko.wikipedia.org