웹 서버가 운영하는 웹사이트를 방문한 클라이언트가 HTML, CSS, JSP 등의 파일을 볼 수 있도록 디렉토리를 개방
클라이언트가 특징 주소 입력 시 원하는 화면을 브라우저에서 출력하게 도와줌
대체적으로 정적인 웹 사이트를 제공
WAS
Web Application Server의 약자
자바, JSP 등으로 만든 WEB 또는 API 어플리케이션을 사용할 떄 사용
WEB 과 SERVER 사이의어플리케이션
동적인 웹 사이트를 제공할 떄 사용
간단한 동작 순서
톰캣과 같은 WAS 프로그램은 단독으로 정적인 리소스나 동적인 요청에 대한 처리가 가능합니다.
앞서 말씀드렸듯이, 웹 서버 역시 정적 페이지뿐만 아니라 동적인 페이지의 처리도 가능합니다.
하지만, WAS와 웹 서버가 단독으로 사용 가능함에도, 보통 웹 서버와 WAS를 같이 사용합니다.
이는 웹 서버의 몇 가지 기능들 때문입니다.
이 기능들을 정리하면 다음과 같습니다.
Web Server 와 WAS를 같이 사용하는 이유
⭐ 1. Reverse Proxy
프록시는 자신의 아이피(ip) 주소를 숨기는 행위 서버와 클라이언트 사이에 프록시를 두고 프록시를 통해 데이터를 주고받음 Forward Proxy는 서버에 방문하는 클라이언트의 주소를 감춤 Reverse Proxy는 클라이언트에게 서버의 주소를 감춤 Reverse Proxy를 사용하는 것은 서버가 보안의 이유로 서버 내부 구조를 감추기 위함 이러한 Reverse Proxy를 웹 서버가 담당
2. 로드 밸런싱
클라이언트의 요청에 따른 처리를 동작 중인 여러 WAS에게 적절히 분배하는 것 톰캣과 같은 WAS 서비스를 하나만 운영하면 WAS 프로그램이 다운되거나, 업데이트되는 등 WAS 프로그램의 사용이 불가할 때 문제가 발생 이러한 문제를 방지하기 위해 여러 개의 WAS 프로그램으로 서버를 운영 이러한 로드 밸런싱, 즉 WAS의 자원 분배는 웹 서버가 담당
3. 캐싱
Reverse Proxy의 캐시를 의미 서버로 찾아오는 클라이언트들이 자주, 반복적으로 요청하는 리소스들을 프록시 서버에 저장하고 제공하는 것 이러한 캐싱을 웹 서버가 담당
4. 주기적인 체크
웹 서버에 존재하는 수많은 모듈을 사용해 WAS 서비스가 정상적으로 동작하고 있는지 체크함