웹 서버, 응용 프로그램 서버

차이 웹 서버, 애플리케이션 서버, HTTP 서버는 무엇입니까? 각각 IIS, 아파치, 톰캣, 웹 로직, WebSphere 서버의 정보는 다음의 제품에 속해? 오랜 시간 동안 의아해 이러한 질문은, 마지막으로 명확하게 분류 :

웹 서버의 기본 기능은 웹 브라우징 서비스 정보를 제공합니다. 그것은 단지 HTTP 프로토콜, HTML 문서 형식과 URL을 지원합니다. 클라이언트의 웹 브라우저와 함께. 웹 서버 프로토콜 그래서 정상적인 상황 HTTP를 아래에, HTTP의 주요 지원하기 때문에 서버 및 웹 서버 (HTTP 웹 서버, 저자는 확인하지 않았다 이외의 프로토콜을 지원하지 않는다) 같다, 같은 일 밝혔다.

(응용 프로그램 서버라고도 함) 응용 프로그램 서버, 우리는 그 정의에 마이크로 소프트 볼 :. 많은 사용자에게 제공 할 수있는 파일 서버로 "시스템을 기본 비즈니스 애플리케이션 소프트웨어를 실행하는 공유 서버"우리는 응용 프로그램 서버로 정의 넣어 " 파일과 마찬가지로, 애플리케이션 서버 "는 여러 사용자 (일반적으로 클라이언트 응용 프로그램에서 만든) 동시에 응용 프로그램을 사용할 수 있도록

인기 말하기, 웹 서버가 제공하는 브라우저가 페이지를 볼 수 있도록 (역할)하지만, 응용 프로그램 서버는 클라이언트 응용 프로그램 (호출) 방법 (방법)을 호출 할 수 있습니다. HTTP 요청 (요청을) 처리 전용 웹 서버,하지만 응용 프로그램 서버는 많은 프로토콜에 의해 응용 프로그램 (역할) 비즈니스 로직 (비즈니스 로직)을 제공하는 것입니다 정확한 점은, 당신은 말할 수있다.

자바 EE, 웹 서버, 주로 정적 페이지와 서블릿 / JSP의 서블릿 컨테이너 처리, 해석 및 구현으로 처리 및 응용 프로그램 서버는 비즈니스 로직 등 EJB, JNDI와 JMX API를 주로 J2EE API 조건을 실행하지만, 또한으로 예를 들어, 그것은 트랜잭션 처리, 데이터베이스 연결 등의 기능을 포함하고 있으므로 엔터프라이즈 애플리케이션에 응용 프로그램 서버는 웹 서버가 아닌 강력한 제공합니다.

이러한 정의에 의하면, IIS, 아파치, 톰캣 웹 서버, 웹 로직을 속할 수는 WebSphere 응용 프로그램 서버가 속한.

아파치

웹 서버에서 아파치 웹 서버는 순수 종종 톰캣와 결합이다. 그것은 강력한 HTML 페이지 설명력을 가지고 있지만 페이지 내에서 임베디드 서버 측 스크립트 코드 (JSP / 서블릿)를 설명 할 수 없다.

수코양이

초기 아파치 톰캣 + 아파치 톰캣은 JSP / 서블릿 엔진에 해당하는 IIS + ASP를 설명 포함됩니다. 나중에 톰캣이 더 이상 아파치에 포함, 톰캣 프로세스는 아파치 프로세스 실행과 무관하지 않습니다. 또한, 톰캣 서블릿은 독립적 JSP 컨테이너 비즈니스 로직 코드를 갖고, 코드 인터페이스 상호 작용 층을 분리 하였다. 따라서 누군가가 가벼운 Tomcat 응용 프로그램 서버를했다.

IIS

초기 마이크로 소프트 IIS는 순수 웹 서버입니다. 나중에는 임베딩 ASP 엔진은 VBScript와 JScript의 서버 측 코드를 해석 할 수 있으며, 다음은 응용 프로그램 서버로 두배로 할 수있다. 물론, 단순히 J2EE 애플리케이션 서버와 비교 될 수는 없지만, 기능적으로, 원리에서 그것은 거의 응용 프로그램 서버를 호출 할 수있다. 오히려 그것은 모두 응용 프로그램 서버 기능을 웹 서버의 작은입니다.

요약 :

아파치, 톰캣 순수 웹 서버입니다 및 서버 기능을 가진 경량 웹 서버 또는 응용 프로그램 서버로 호출 할 수있는 서버 측 코드의 설명을 수행 할 수있는 능력을 가진 것으로 IIS. 웹 로직이는 WebSphere J2EE는 그것이 절대적으로 응용 프로그램 서버의 의심의 여지, 강력한 기능을 제공 할 수 있기 때문이다. 보조 응용 프로그램 서버와 응용 프로그램 서버에 배포 할 수 있으므로, 순수와 아파치 웹 서버와 함께 사용할 수있는 중간 위치에서 톰캣의 경우 :

A, Tomcat 응용 프로그램 서버

지금까지, Tomcat은 서블릿 / JSP의 API 액츄에이터라고도 서블릿 컨테이너를 고려하고있다. 그러나, Tomcat은 또한 JNDI와 JMX API의 구현 메커니즘을 제공, 그냥하지 않습니다. 그것은 대부분의 J2EE의 API 년대에 대한 지원을 제공하지 않기 때문에 그럼에도 불구하고, 톰캣은 여전히 ​​응용 프로그램 서버로 간주 할 수 없습니다.

흥미롭게도, 보통 서블릿 컨테이너와 JSP API의로, 톰캣 애플리케이션 서버의 많은. Tomcat이 자신의 감사를 추가하여 단순히 개발자를 할 수 있기 때문에, 그 톰캣 응용 프로그램에 포함 할 수 있습니다. 불행히도, 많은 상용 애플리케이션 서버는이 규칙을 준수하지 않습니다.

개발자의 경우는 자바 웹 응용 프로그램, 다음 Tomcat이 뛰어난 솔루션을 선택 생성하는 서블릿, JSP, JNDI와 JMX 기술의 사용을 찾을 수 있습니다,하지만 지원하는 다른 J2EE API를 추구하기 위해, 다음 응용 프로그램 서버 찾거나 톰캣 애플리케이션 서버가 보조로 좋은 해결책이 될 것이다 세 번째 방법은 달성하기 위해 독립적 인 J2EE API를 찾은 다음 톰캣에 사용할 둘을 결합하는 것입니다. 통합 관련 문제를 가져올 것이다, 그러나이 방법은 가장 효과적이지만. .

두, 톰캣 웹 서버

톰캣은 서블릿과 JSP 컨테이너 지원 작업입니다. 서블릿과 JSP가 실제 필요에 따라 할 수있다, 동적 웹 컨텐츠를 생성합니다. 웹 서버의 아파치는 정적 페이지, 힘 ​​모양 동적 페이지에 대한 지원을 지원 정적 페이지에 대한 지원을 제공하면서 Tomcat이 모두 동적 웹 서비스입니다. 그것은 보통 빠른 웹 서버를 가지고 있지 않지만, 웹 서버 기능이 풍부한 아니라, 톰캣 지원 정적 콘텐츠가 점차 확대. 대부분의 웹 서버는 그들과 비교할 수없는, 따라서 순수 자바 톰캣 실행 속도에 기록 된 각각의 플랫폼의 기능을 활용하여, C와 같은 기본 언어로 작성된다.

일반적으로, 대형 사이트는 톰캣과 아파치, 클라이언트에서 모든 요청을 승인 할 책임이 아파치 HTTP의 조합하고 처리 할 수있는 JSP 서블릿과 톰캣에 요청을 전달합니다. 치료 완료 후 Tomcat을 다시 아파치, 다시 클라이언트에 아파치 최종 응답에 대한 응답.

그리고 성능을 향상시키기 위해, 당신은 아파치 톰캣로드 밸런싱의 복수에 연결할 수 있습니다.

웹 서버, 응용 프로그램 서버에 대한 자세한 세부 사항의 차이는 다음 문서를 참조 할 수 있습니다 :

인기 말하기, 웹 서버가 제공하는 브라우저가 페이지를 볼 수 있도록 (역할)하지만, 응용 프로그램 서버는 클라이언트 응용 프로그램 (호출) 방법 (방법)을 호출 할 수 있습니다. HTTP 요청 (요청을) 처리 전용 웹 서버,하지만 응용 프로그램 서버는 많은 프로토콜에 의해 응용 프로그램 (역할) 비즈니스 로직 (비즈니스 로직)을 제공하는 것입니다 정확한 점은, 당신은 말할 수있다.

조심스럽게 길을 우리가 할 보자 :

웹 서버 (웹 서버)

웹 서버 (핸들) HTTP 프로토콜을 해결할 수 있습니다. 웹 서버는 HTTP 요청 (요청)를 수신 할 때, 예를 들어 HTTP 응답 (응답), 백 HTML 페이지를 반환합니다. 요청 (요청), 웹 서버 응답 (응답) 정적 페이지 또는 화상, 페이지 점프 (리다이렉트)를 처리하기위한, 또는 CGI 같은 다른 프로그램 대리인 (대리인) 동적 응답 (동적 응답)을 생성하기 위해서 스크립트, JSP (JavaServer 페이지) 스크립트, 서버 측 (서버 측) 자바 스크립트, 또는 다른 서버 (서버 측) 기술에 대한 서블릿, ASP (액티브 서버 페이지) 스크립트. 그들은 여부 :이 서버 측 (서버 측) 프로그램은 일반적으로 HTML 응답 (응답) 브라우저가 검색 할 수 있도록 생성하는 방법 (번역기의 참고 스크립트) 목적.

알다시피, 웹 서버 (위임 모델)의 프록시 모델은 매우 간단합니다. (: 서버 측 스크립트 번역기 주) 요청 (요청)는 웹에서만 간단한 요청 (요청)의 (요청) 아주 좋은 될 수있는 응용 프로그램 처리 요청에 전송하는 서버로 전송됩니다. 웹 서버는 서버 (서버 측)을 수행 할 수 있으며, 프로그램은 기능의 범위를 초과하지 않고, 환경에 응답 (반응) (프로그램 생성) 리턴한다. 서버 (서버 측)은 일반적으로 트랜잭션 처리 프로그램 (트랜잭션 처리), 데이터베이스 연결 (데이터베이스 연결) 및 메시지 (메시징) 기능이 있습니다.

이러한로드 밸런싱 (부하 분산), 버퍼 등의 전략 (전략)의 다양한 결함 허용 (내결함성)과 확장 성 (확장 성)을 달성하기를, (채택)을 웹 서버는 트랜잭션이나 데이터베이스 연결 풀을 지원하지 않지만, 구성 할 수 있지만 (캐시). 클러스터 기능 (클러스터링 기능)는 종종 단지 응용 프로그램 서버 별 기능에 대한 오해입니다.

응용 프로그램 서버 (응용 프로그램 서버)

우리의 정의에 따르면, 응용 프로그램 서버로, 비즈니스 로직에 노출 HTTP 등 다양한 통신 프로토콜을 통해 클라이언트 응용 프로그램 (에 노출). 웹 서버는 주로보기 위해 브라우저에 HTML을 보내는 처리 및 응용 프로그램 서버는 클라이언트 응용 프로그램에서 사용하기 위해 비즈니스 로직에 액세스 할 수있는 방법을 제공합니다. 이 응용 프로그램은 (함수 또는 프로세스 언어) 같은 개체를 호출하는 방법으로 비즈니스 로직을 사용합니다.

(그래픽 사용자 인터페이스 (GUI)를 포함) 클라이언트 응용 프로그램 서버는 PC, 웹 서버 또는 다른 응용 프로그램 서버에서 실행 될 수 있습니다. 간단한 정보 표시 마크를 넘어 앞뒤로 (여행) 응용 프로그램 서버와 클라이언트 사이. 오히려, 이러한 정보는 프로그램 로직 (프로그램 논리)이다. 클라이언트가이 임의의 비즈니스 로직에 노출 될하는 데 사용할 수 있도록이 만든이 논리 (소요) 데이터와 메서드 호출 (호출) 형태가 아닌 정적 HTML입니다.

대부분의 경우, 응용 프로그램 구성 요소를 통해 응용 프로그램 서버 (구성 요소) 인터페이스 (API) 비즈니스 로직 (에 노출) (클라이언트 응용 프로그램)을 노출, J2EE를 기반으로 예를 들어 (자바 2 플랫폼, 엔터프라이즈 에디션) 응용 프로그램 EJB (엔터프라이즈 자바 빈즈) 컴포넌트 모델 응용 프로그램 서버. 또한, 응용 프로그램 서버는 보안 (보안)를 포함 청소부 일 (게이트 유지 의무), 트랜잭션 처리 (트랜잭션 처리), 리소스 풀 (리소스 풀링) 및 메시지 (메시지)로 자신의 자원을 관리 할 수 ​​있습니다. 그냥 웹 서버와 같은 응용 프로그램 서버는 확장 성 (확장 성) 및 결함 허용 (내결함성) 기술의 다양한 구성되어 있습니다.

예를 들어, 온라인 상점 (웹 사이트) 실시간 가격 (실시간 가격)과 효과 성 (가용성) 정보를 제공합니다 상상. 이 사이트 (사이트) 양식 (양식)를 제공 할 가능성이 당신이 제품을 선택할 수 있습니다. 쿼리 (쿼리)를 제출하면, 사이트는 찾을 수 (조회) 및 HTML 페이지에 포함 된 결과를 반환합니다. 웹 사이트는이 기능을 달성하기 위해 다양한 방법이있을 수 있습니다. 나는 서버 시나리오와 응용 프로그램 서버를 사용하는 시나리오를 사용하는 응용 프로그램을 소개하고자합니다. 응용 프로그램 서버의 기능을 이해하는 데 도움이됩니다 두 가지 다른 시나리오에서 봐.

응용 프로그램 서버없이 웹 서버 : 시나리오 1

이 경우, 웹 서버 기능 독립적 인 온라인 상점에서. 처리 프로그램 (요청)를 요청할 수 있습니다 웹 서버 요청 (요청)를 취득하고 서버 (서버 측)로 전송. 데이터베이스 또는 텍스트 파일에서이 프로그램 : 가격 정보를 찾기 위해 (플랫 파일, 번역기의 참고 플랫 파일은 특별한 형식 등의 속성과 XML 파일과 같은 비 바이너리 파일을 의미하지 않습니다). 발견되면, 서버 (서버 측) 프로그램 정보는 결과 (수립) HTML 형태로 표현하고, 마지막으로 웹 서버는 웹 브라우저로 보내드립니다.

간단히, 웹 서버 단순히 HTTP 요청을 처리하기 위해 (응답) HTML 페이지 (요청) 응답으로.

시나리오 2 : 응용 프로그램 서버와 웹 서버

시나리오 2와 시나리오 같은 웹 서버 하나가 생성되거나 스크립트에 대리인 (대리인) 응답 (응답) (번역 주 : 서버 (서버 측) 프로그램). 그러나, 당신은 응용 프로그램 서버에 비즈니스 로직 (비즈니스 로직)의 가격을 찾을 수 있습니다. 이 변경으로 인해 스크립트는 단순히 응답 (응답) 응용 프로그램 서버의 조회 서비스 (조회 서비스)를 호출, 그리고 이미 데이터를 찾는 방법을 알고 다음과 같이 표현 (수립). 그런 다음 스크립트를 생성 할 때 HTML 응답 (응답) 결과를 반환하도록 서비스를 사용할 수 있습니다.

이 시나리오에서는 응용 프로그램 서버는 제품 정보 쿼리의 가격에 대한 비즈니스 로직을 제공 (제공). (서버)이 기능 (기능) 디스플레이와 클라이언트 세부 사항이 정보를 사용하는 방법을 표시하지 않는, 오히려 클라이언트와 애플리케이션 서버는 데이터를 송수신. 클라이언트가 응용 프로그램 서버의 조회 서비스 (조회 서비스)를 호출하면,이 서비스는 단순히 검색하고 결과를 클라이언트로 돌아갑니다.

강한 (검색) 로직 재사용 가격 응용 프로그램에서 응답에서 (응답 발생) HTML 코드를 생성하여입니다. 현금 레지스터와 같은 다른 클라이언트는, 당신은 또한 체크 아웃 사무원으로 고객에게 동일한 서비스 (서비스)를 호출 할 수 있습니다. 정보가 HTML 페이지에 포함하기 때문에 대조적으로, 시나리오 1에서 가격 조회 서비스는 재사용 할 수 없습니다.

모두 모두, 시나리오 2의 모델은, 웹 서버는 HTML 페이지에 응답하여 HTTP 요청 (요청)을 처리하고, 응용 프로그램 서버가 처리 가격 및 가용성 요청 (가용성) (요청)에 의해 애플리케이션 로직을 제공하는 것입니다.

경고 (주의 사항)

이제, XML 웹 서비스는 혼동 응용 프로그램 서버와 웹 서버의 경계를했다. 서버에 XML 페이로드 (페이로드)를 전송하여 용량, 웹 서버는 이제 데이터 이전 응용 프로그램 서버에 같은 양의 응답 (응답)를 처리 할 수 ​​있습니다.

또한 대부분의 애플리케이션 서버는 이제 웹 서버가 일부 (부분 집합) 응용 프로그램 서버입니다 당신이 넣을 수 있다는 것을 의미 웹 서버가 포함되어 있습니다. 응용 프로그램 서버가이 기능 (용량)에 웹 서버 기능을하지만, 개발자 드물게 응용 프로그램 서버 배포 (배포)이 포함되어 있지만 (번역 주 :이 기능은이 두 응용 프로그램 서버의 함수이다 웹 서버 기능). 반대로, 필요한 경우, 그들은 것입니다 일반적으로 별도의 웹 서버 구성 및 이전 응용 프로그램 서버 후. 기능이 분리 (간단한 웹 요청 (요청) 응용 프로그램 서버에 영향을 미치지 않습니다), 분리 구성 (전용 웹 서버, 클러스터 (클러스터링) 등), 그리고 최고의 제품 성능을 개선하는 데 도움 선택 여지.

추천

출처blog.csdn.net/anwarkanji/article/details/90524691