웹 서버(Web Server)

- Web Client(웹 브라우저)에게 컨텐츠를 제공하는 서버, 정적인 HTML이나 jpeg, gif 같은 이미지를 HTTP 프로토콜을 통해 웹 브라우저에게 전송하는 역할

- 클라이언트의 요청을 받아 HTML이나 오브젝트를 HTTP 프로토콜을 이용해 전송하는 것.

  사용자가 클라이언트로 요청을 보내오면 그 명령에 대한 처리를 실행하고 다시 사용자에게 답변을 보내준다.

- 사용자가 요청한 것들 중에 웹 서버 자체적으로 처리할 수 없는 것들을 톰캣과 같은 컨테이너나 PHP모듈과 같이 처리할 수 있는 곳으로 넘겨 처리 받아    와서 사용자에게 넘겨주는 역할도 수행

- 웹서버만 구축된 서버는 웹 페이지, 이미지등 정적인 페이지를 생성하지만, JSP 컨테이너가 탑재되어 있는 WAS는 JSP페이지를 컴파일 해 동적인 페이지    를 생성한다.

- 웹 서버는 웹 문서를, WAS는 JSP페이지 등을 양분하여 서버 부담을 줄이는 것이 가능하다.

- Apache, IIS, WebtoB


웹 어플리케이션 서버(Web Application Server / WAS)

- 웹 서버 + 웹 컨테이너

- 웹상에서 사용하는 컴포넌트들을 올려놓고 사용하게 되는 서버

- 웹과 기업의 기간 시스템 사이에 위치하면서, 웹 기반 분산 시스템 개발을 쉽게 도와주고 안정적인 트랜잭션 처리를 보장해 주는 일종의 미들웨어

  소프트웨어 서버

- 클라이언트와 서버 환경에서 트랜잭션 처리 및 다른 기존 시스템 간의 어플리케이션 연동등을 주된 기능으로 하고 있다.

- Web Logic, Web Sphere, Jeus, JBoss

- Tomcat은 JSP / Servlet Container의 기능을 구현했으나 EJB Container로서의 기능이 없다 (Tomcat은 Was가 아니라는 사람도 있다...)


Web Server와 WAS의 차이

- 웹 서버와 WAS를 구별 짓는 것은 동적 서버 컨텐츠를 수행하는가? 만약 수행한다면 WAS로 보면 된다.

- 웹서버 : 정적인 HTML이나 이미지를 제공하는 서버

  WAS : 동적인 처리를 담당하는 서버


- 웹서버 기능

  1. Clustering 기능: 사용자 요청이 발생하면 상황에 따라 각각의 WAS에 요청을 넘김.

  2. Cache 기능: css, js, image 등의 리소스 파일을 가지고 있다가 was를 거치지 않고 사용자에게 직접 넘김.

                      사용자는 cache period동안 전달받은 리소스를 사용함.

- WAS 기능

  Servlet 페이지를 html 형태로 변환함.

  예를 들어 jsp의 경우 jsp를 WAS에서 java class파일로 컴파일 후 html형태의 페이지를 사용자에게 전달하게 됨.



Web Server와 WAS의 일반적인 구성

- 사용자가 브라우저에서 요청을 하게 되면 다음과 같이 웹서버와 WAS서버를 거쳐 응답이 돌아오게 된다.

  사용자 요청(웹 브라우저) -> 웹 서버 -> WAS(동적 처리) -> 웹 서버 -> 사용자 응답 메세지(웹 브라우저)



Web Server와 WAS의 구성에 따른 분류
○ WAS와 WebServer를 분리하지 않는 경우 
모든 컨텐츠를 한곳에 집중시켜 웹서버와 WAS의 역할을 동시에 수행, 스위치를 통한 로드 밸러싱, 사용자가 적을 경우 효율적

○ WAS와 WebServer를 분리한 경우 
웹서버와 WAS의 기능적 분류를 통해 효과적인 분산을 유도, 정적인 데이터는 웹서버에서 처리, 동적인 데이터는 WAS가 처리

○ WAS 여러개와 WebServer를 분리한 경우
WAS단을 프리젠테이션 로직와 비즈니스 로직으로 구분하여 구성, 특정 logic의 부하에 따라 적절한 대응할 수 있지만 설계단
계 유지보수 단계가 복잡해 질 수가 있다. 





'개념정리' 카테고리의 다른 글

SPRING 이란?  (0) 2018.03.22
GET와 POST의 차이 확실히 알고가자!  (0) 2018.03.21
apache와 apache tomcat의 차이  (0) 2018.03.21
SSL 이란?  (0) 2018.03.21
Servlet 이란?  (0) 2018.03.21

+ Recent posts