웹 서버, 웹 컨테이너 및 응용 프로그램 서버의 차이점


97

웹 서버, 웹 컨테이너 및 응용 프로그램 서버의 차이점을 알려주십시오.



답장을 보내 주셔서 감사합니다. 나는 그 링크를 통해 한 가지 물어보고 싶습니다. 우리는 톰캣은 애플리케이션 서버입니다 말할 수
가우 탐

아니요, Tomcat은 서블릿 컨테이너입니다.
데이비드 그랜트

답변:


64

귀하의 질문은 아래와 유사합니다.

애플리케이션 서버와 웹 서버의 차이점은 무엇입니까?

Java : 웹 컨테이너 또는 서블릿 컨테이너 또는 서블릿 엔진 : 서블릿, JSP와 같은 구성 요소를 관리하는 데 사용됩니다. 웹 서버의 일부입니다.

웹 서버 또는 HTTP 서버 : 클라이언트가 보낸 HTTP 요청을 처리하고 HTTP 응답으로 응답 할 수있는 서버입니다.

응용 프로그램 서버 또는 응용 프로그램 서버 : 사용자와 조직의 백엔드 비즈니스 응용 프로그램 또는 데이터베이스 간의 모든 응용 프로그램 작업을 처리 할 수 ​​있습니다. 프레젠테이션 계층, 논리 계층, 데이터 계층이있는 3 계층 응용 프로그램의 일부로 자주 표시됩니다.


답장을 보내 주셔서 감사합니다. Tomcat이 응용 프로그램 서버라고 말할 수 있습니까?
Gautam

아파치 톰캣은 서블릿 엔진 및 IBM이다 - WebSphere Application Server는 응용 프로그램 서버에 대한 예입니다
DomincJune

아파치 HTTPD는 웹 서버입니다
atish shimpi

5
Apache HTTPD는 웹 서버이고 Apache Tomcat은 실제로 Apach HTTPD + Servlet Engine 인 웹 컨테이너입니다. 이전 구성이있는 Java 애플리케이션 서버는 Apache Tomcat + EJB 컨테이너 + API (JDBC, JNDI, JTA / JTS, JCA, JMX, JAAS, Java Mail, JMS)입니다. 웹 컨테이너는 WAR 만 실행하고 애플리케이션 서버는 EAR를 실행합니다.
ziMtyth

10

웹 서버 : HTTP 요청 및 HTTP 응답을 제공합니다. HTTP 프로토콜을 통해서만 클라이언트의 요청을 처리합니다. 웹 컨테이너가 포함되어 있습니다. 주로 웹 서버에 배포 된 웹 응용 프로그램입니다. 예 : 서블릿 JSP

웹 컨테이너 : Servlet Object의 수명주기를 유지합니다. 해당 서블릿 개체에 대한 서비스 메서드를 호출합니다. HttpServletRequest 및 HttpServletResponse 객체 전달

애플리케이션 서버 : 비즈니스 로직이 큰 엔터프라이즈 애플리케이션을 보유하고 있습니다. 무거운 무게 또는 무거운 무게 응용 프로그램을 보유합니다. 예 : EJB


8

웹 응용 프로그램은 웹 서버의 웹 컨테이너 내에서 실행됩니다. 웹 컨테이너는 이름 지정 컨텍스트 및 라이프 사이클 관리를 제공하는 구성 요소를 통해 런타임 환경을 제공합니다. 일부 웹 서버는 보안 및 동시성 제어와 같은 추가 서비스를 제공 할 수도 있습니다. 웹 서버는 EJB 서버와 함께 작동하여 이러한 서비스 중 일부를 제공 할 수 있습니다. 그러나 웹 서버는 EJB 서버와 동일한 시스템에있을 필요가 없습니다.

웹 응용 프로그램은 웹 구성 요소와 HTML 페이지와 같은 기타 데이터로 구성됩니다. 웹 컴포넌트는 서블릿, JavaServer Pages ™ 기술로 작성된 JSP 페이지, 웹 필터 및 웹 이벤트 리스너 일 수 있습니다. 이러한 구성 요소는 일반적으로 웹 서버에서 실행되며 웹 클라이언트의 HTTP 요청에 응답 할 수 있습니다. 서블릿, JSP 페이지 및 필터를 사용하여 애플리케이션의 사용자 인터페이스 인 HTML 페이지를 생성 할 수 있습니다. 또한 다른 응용 프로그램 구성 요소에서 사용하는 XML 또는 기타 형식 데이터를 생성하는 데 사용할 수도 있습니다.

출처 : http://www.service-architecture.com/articles/application-servers/j2ee_web_server_or_container.html


4

서블릿 컨테이너라고도하는 웹 컨테이너는 Java 서블릿과 상호 작용하는 웹 서버의 구성 요소입니다. 웹 컨테이너는 서블릿의 수명주기를 관리하고 URL을 특정 서블릿에 매핑하며 URL 요청자가 올바른 액세스 권한을 갖도록합니다.


1

웹 컨테이너와 애플리케이션 서버의 주요 차이점은 Apache Tomcat과 같은 대부분의 웹 컨테이너는 애플리케이션 서버가 전체 Java EE 사양을 구현하는 Servlet, JSP, JSTL과 같은 기본 JSR 만 구현한다는 것입니다. 모든 애플리케이션 서버에는 웹 컨테이너가 포함되어 있습니다.


0

웹 컨테이너 + HTTP 요청 처리 = WebServer

웹 서버 + EJB + (메시징 + 트랜잭션 + 등) = ApplicaitonServer


-1

웹 컨테이너는 웹 애플리케이션에 런타임 환경을 제공 할 책임이 있습니다. 여기에는 이름 지정 컨텍스트를 제공하고 웹 애플리케이션의 라이프 사이클을 관리하는 구성 요소가 포함되어 있습니다. 웹 컨테이너는 웹 서버의 일부이며 일반적으로 사용자 요청을 처리하고 정적 응답을 보냅니다.

서블릿 컨테이너는 JSP가 생성 한 구성 요소가 상주하는 컨테이너입니다. 그들은 기본적으로 사용자 요청에 따라 동적 콘텐츠를 제공 할 책임이 있습니다. 기본적으로 웹 컨테이너는 사용자 요청에 따라 정적 콘텐츠로 응답하지만 서블릿은 동적 페이지를 만들 수 있습니다.


-1

Servlet 컨테이너 의 기본 개념은 Java를 사용하여 Servlet 및 JSP를 사용하여 서버 측에서 웹 페이지를 동적으로 생성하는 것입니다. 따라서 서블릿 컨테이너 는 본질적으로 서블릿과 상호 작용하는 웹 서버의 일부입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.