웹 서버, 웹 컨테이너 및 응용 프로그램 서버의 차이점을 알려주십시오.
답변:
귀하의 질문은 아래와 유사합니다.
Java : 웹 컨테이너 또는 서블릿 컨테이너 또는 서블릿 엔진 : 서블릿, JSP와 같은 구성 요소를 관리하는 데 사용됩니다. 웹 서버의 일부입니다.
웹 서버 또는 HTTP 서버 : 클라이언트가 보낸 HTTP 요청을 처리하고 HTTP 응답으로 응답 할 수있는 서버입니다.
응용 프로그램 서버 또는 응용 프로그램 서버 : 사용자와 조직의 백엔드 비즈니스 응용 프로그램 또는 데이터베이스 간의 모든 응용 프로그램 작업을 처리 할 수 있습니다. 프레젠테이션 계층, 논리 계층, 데이터 계층이있는 3 계층 응용 프로그램의 일부로 자주 표시됩니다.
웹 서버 : HTTP 요청 및 HTTP 응답을 제공합니다. HTTP 프로토콜을 통해서만 클라이언트의 요청을 처리합니다. 웹 컨테이너가 포함되어 있습니다. 주로 웹 서버에 배포 된 웹 응용 프로그램입니다. 예 : 서블릿 JSP
웹 컨테이너 : Servlet Object의 수명주기를 유지합니다. 해당 서블릿 개체에 대한 서비스 메서드를 호출합니다. HttpServletRequest 및 HttpServletResponse 객체 전달
애플리케이션 서버 : 비즈니스 로직이 큰 엔터프라이즈 애플리케이션을 보유하고 있습니다. 무거운 무게 또는 무거운 무게 응용 프로그램을 보유합니다. 예 : EJB
웹 응용 프로그램은 웹 서버의 웹 컨테이너 내에서 실행됩니다. 웹 컨테이너는 이름 지정 컨텍스트 및 라이프 사이클 관리를 제공하는 구성 요소를 통해 런타임 환경을 제공합니다. 일부 웹 서버는 보안 및 동시성 제어와 같은 추가 서비스를 제공 할 수도 있습니다. 웹 서버는 EJB 서버와 함께 작동하여 이러한 서비스 중 일부를 제공 할 수 있습니다. 그러나 웹 서버는 EJB 서버와 동일한 시스템에있을 필요가 없습니다.
웹 응용 프로그램은 웹 구성 요소와 HTML 페이지와 같은 기타 데이터로 구성됩니다. 웹 컴포넌트는 서블릿, JavaServer Pages ™ 기술로 작성된 JSP 페이지, 웹 필터 및 웹 이벤트 리스너 일 수 있습니다. 이러한 구성 요소는 일반적으로 웹 서버에서 실행되며 웹 클라이언트의 HTTP 요청에 응답 할 수 있습니다. 서블릿, JSP 페이지 및 필터를 사용하여 애플리케이션의 사용자 인터페이스 인 HTML 페이지를 생성 할 수 있습니다. 또한 다른 응용 프로그램 구성 요소에서 사용하는 XML 또는 기타 형식 데이터를 생성하는 데 사용할 수도 있습니다.
출처 : http://www.service-architecture.com/articles/application-servers/j2ee_web_server_or_container.html
웹 컨테이너는 웹 애플리케이션에 런타임 환경을 제공 할 책임이 있습니다. 여기에는 이름 지정 컨텍스트를 제공하고 웹 애플리케이션의 라이프 사이클을 관리하는 구성 요소가 포함되어 있습니다. 웹 컨테이너는 웹 서버의 일부이며 일반적으로 사용자 요청을 처리하고 정적 응답을 보냅니다.
서블릿 컨테이너는 JSP가 생성 한 구성 요소가 상주하는 컨테이너입니다. 그들은 기본적으로 사용자 요청에 따라 동적 콘텐츠를 제공 할 책임이 있습니다. 기본적으로 웹 컨테이너는 사용자 요청에 따라 정적 콘텐츠로 응답하지만 서블릿은 동적 페이지를 만들 수 있습니다.