HTTP 서버은 주로 HTTP 요청 처리 및 클라이언트에 HTTP 응답 제공과 관련된 구성 요소입니다. 물론 HTTP 서버와 같은 다른 기능이 있습니다. HTTP 서버가 요청/응답 메커니즘을 구현한다는 것을 이해하는 것으로 충분하다. 프로그래밍 언어 구현과 관련이 없습니다.
서블릿 컨테이너은 Java의 서블릿 사양을 구현하는 구성 요소입니다. 서블릿은 주로 Java 언어를 사용하여 구현됩니다. 그들은 요청과 응답을 처리한다는 점에서 HTTP 서버와 흡사합니다 (HTTP 요청과 응답에 비해 이러한 요청과 응답이 더 높은 추상성을 가짐), 필터링하고, 연결하는 등의 작업을 수행합니다.
대부분의 경우 서블릿 컨테이너는 HTTP 서버 뒤에 배치됩니다. HTTP 서버는 일부 URL 매핑 규칙에 따라 HTTP 요청을 서블릿 컨테이너로 전달합니다. 서블릿에서 고도로 추상화 된 요청/응답 스펙의 구현 중 하나는 HTTP 요청/응답입니다. 이러한 방식으로, HTTP 서버 및 서블릿 컨테이너는 예를 들어, 동적 웹 페이지.
응용 프로그램 서버은보다 복잡한 구성 요소입니다 (일반적으로 HTTP 서버와 서블릿 컨테이너 (Java 지향 응용 프로그램 서버 인 경우)를 모두 캡슐화 함). 이러한 구성 요소는 주어진 사양을 구현하는 모듈을 제공합니다. JBoss Applciation Server/WildFly에 의해 구현 된 Java EE 사양.
위대한 답변은 http://www.theserverside.com/feature/Understanding-How-the-Application-Servers-Web-Container-Works에서 찾을 수 있습니다. * Web Server에서 Application Server * 섹션으로. –