약자로 들으면 무슨 뜻인지 몰라 당황할 수 있으나, 사실 익숙하게 들어볼법한 단어이다.
웹 어플리케이션 서버(Web Application Server)
- 동적인 데이터를 제공하기 위한 서버, 웹서버에서 처리할 수 없는 동적인 정보를 처리하여 웹서버에 정적인 정보를 제공한다.
- 일반적으로 웹서버의 기능을 내제하고 있어 웹 서버 없이도 서비스가 가능하다.
- WAS와 DB가 연결되어 WAS에서 처리에 필요한 데이터를 꺼내와 원하는 정보로 가공할 수 있다.
- 예) tomcat, jeus, web logic, etc...
*was의 중요 기능
프로그램 실행환경 및 DB 접속 기능
여러 트랜잭션 관리 기능
업무 처리하는 비지니스 로직 수행
웹 서버(Web Server)
- 정적인파일(html,js,이미지 파일 등)을 제공하기 위한 서버로, HTTP 프로토콜에 의해 제공한다.
- 정적인 파일로만 처리 가능한 것은 WAS로 요청을 넘기지않고 바로 요청 처리한다.
(자체적으로 처리할 수 없는 정보에 대해서는 WAS에 처리를 요청)
- 요청이 많을 경우 웹서버에서는 웹문서를 WAS에서는 JSP페이지를 양분하여 처리 함으로서 서버 의 부담을 줄여주는 역할도 가능하다.
- 예) apache, nginx(요즘 이거 많이 쓴다던데,), gws, etc...
WS와 WAS를 구분하는 이유
- WS는 정적 데이터를 처리하는 기능을 분배하여 서버의 부담을 줄일 수 있다.
- WAS는 정적 데이터를 처리를 위해 지연되는 시간이 줄어 동적 컨텐츠의 처리속도가 향상된다.
핵심요약
- WS와 WAS의 차이는 어떤 타입의 컨텐츠를 제공하느냐의 차이
- WS와 WAS는 각각 독립적으로 존재 가능
- 대부분의 WAS는 정적인 컨텐츠를 제공해주고 있기 때문에, WS 없이 WAS만 존재 가능
- 그래서 WAS는 WS를 포함하는 개념이라고 할수도 있음