웹 서버(WS)와 웹 어플리케이션 서버(WAS)의 차이
웹 서버(Web Server)
웹 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지를 정적으로 처리해 반환하는 프로그램인데, 이때 웹 페이지는 그림, 스타일 시트, 자바스크립트를 포함한다.
웹 페이지를 클라이언트로 전달하고, 클라이언트로부터 컨텐츠를 전달 받는 역할을 담당한다.
이외에도 인증, 정적 컨텐츠 관리, HTTPS지원, 컨텐츠 압축, 가상 호스팅, 대용량 파일 지원, 대역폭 스로틀링 등의 기능을 지원한다.
종류
- 아파치(Apache)
- 인터넷 정보 서버(IIS)
- 엔터프라이즈 서버
장점
웹 서버는 월드 와이드 웹 뿐만아니라 프린터, 라우터, 웹캠과 같은 임베디드 장치, 그리고 근거리 통신망(local network)에서도 사용된다.
시스템의 모니터링 또는 장치 관리를 위한 목적으로 사용되는데, 이렇게 웹서버는 클라이언트에 추가적인 소프트웨어의 설치 없이 대부분의 운영체제에 포함된 웹 브라우저만으로 서비스를 제공할 수 있다.
웹 어플리케이션 서버(Web Application Server)
HTTP를 통해 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어(소프트웨어 엔진)이다.
동적 서버 콘텐츠를 수행한다는 것으로 일반 WEB 서버와 구별되며, 주로 데이터베이스 서버와 같이 서비스를 수행한다.
J2EE 스펙을 구현한 서버로 분산 트랜잭션, 보안, 메시징, 쓰레드 처리 등의 기능을 처리하는 분산 환경에서 사용되는 미들웨어이고, 웹 서버 + 웹 컨테이너로 웹상에서 사용하는 컴포넌트를 올려놓고 사용하게 되는 서버.
쉽게 말해, 다음과 같은 기능을 제공한다.
1. 프로그램 실행 환경과 데이터베이스 접속 기능을 제공한다.
2. 여러개의 트랜잭션을 관리한다.
3. 업무를 처리하는 비즈니스 로직을 수행한다.
종류
- Web Logic
- Jeus
- Tomcat
- JBoss
이 둘의 차이점은?
웹 서버는 정적 데이터를 처리하고, 웹 어플리케이션 서버는 동적 데이터를 처리한다.
이 특징으로, 실무에서는 이 둘을 연동하여 사용하는데, WAS는 동적 처리에 최적화 되어 있는 서비스이기 때문에 처리 속도를 위해,
정적처리는 웹서버에서 처리를 하고, 동적 컨텐츠는 WAS에서 처리한다.
웹 서버에 웹 문서를 처리하는 기능을 분배하여 서버의 부담을 줄일 수 있고,
이로인해 웹어플리케이션에서 정적 데이터 처리를 위해 지연되는 시간이 줄어들어 동적 컨텐츠의 처리 속도가 빨라진다.
'☕️ JAVA' 카테고리의 다른 글
Spring AOP와 AspectJ 비교하기 (14) | 2019.12.15 |
---|---|
이미지를 BLOB 형태로 DB에 저장하기 (5) | 2018.09.09 |
예외(Exception) - 잘못된 처리들 (0) | 2017.12.04 |
[이펙티브자바] 규칙05 : 불필요한 객체는 만들지 말라 (0) | 2017.10.10 |
[이펙티브자바] 규칙02 : 생성자 인자가 많을 때는 Builder 패턴을 고려하라 (0) | 2017.10.07 |