웹서버(Web Server)의 정의
web 과 was 를 설명하기에 앞서 알아두면 좋을 것은
동적 웹페이지(Dynamic Pages) 와 정적 웹페이지(Static Pages) 의 개념을 먼저 알아두면 도움이 된다.
정적 웹페이지(Static Pages)
데이터베이스에서 정보를 가져오거나 별도의 서버 처리가 없어도 사용자들에게 보여줄 수 있는 페이지
모든 사용자에게 항상 동일한 페이지를 보여줌
(정적인 데이터 : html, css , image 등등.. )
동적 웹페이지(Dynamic Pages)
동적페이지란 요청에 대해서 각기 다른 내용을 보여준다.
사용자(클라이언트)가 URL 을 통해 서버에 웹 페이지를 요청했을 때, 서버는 사용자에 맞는 HTML 문서를 생성하여 사용자에게 응답
클라이언트에 요청에 따라 web 서버에서 응답을 줄지, was 서버에서 응답을 줄지 결정을 하고 해당처리결과를 클라이언트에게 전달하게 된다.
WEB 과 WAS 를 분리해서 사용하는 이유
1. 기능을 분리하여 서버 부하를 방지
WAS 혼자서 모든 요청을 처리하는 것이 가능은 하나 그만큼 WAS 가 감당하는 부담이 커지게 된다.
그래서 기능을 분리해서 각 서버가 감당하는 부하를 줄일 수 있도록 WEB서버와 WAS를 분리한다.
2. 물리적으로 분리하여 보안을 강화
WAS에는 실제 Web Application이 올라가 있기 때문에 외부와 직접 연결이 되어 있다면 중요한
설정 파일이나 리소스들이 외부로 노출될 수 있다.
이를 막기 위해 WEB서버를 WAS 앞단에 배치하여 리소스를 안전하게 보호할 수 있다.
3. WEB서버에 여러 대의 WAS를 연결
규모가 큰 서비스에서는 하나의 WEB서버에 하나의 WAS가 연결된 구조만으로는 많은 요청을
처리하는데에 어려움이 생긴다. 때문에 수 많은 요청을 한 군데가 아닌 여러 군데에서 처리할 수 있도록
동일한 Web Application 여러 개를 띄운다.
이때 여러 대의 WAS에 각각 요청이 들어오도록 하지 않고 앞에 WEB서버를 두고 각 WAS들을
WEB서버에 연결해서 WEB 서버로 들어오는 수많은 요청을 각 WAS에 적절하게 분배해주도록 한다.
이렇게 배치하여 로드밸런싱을 해줌으로써 하나의 WAS가 처리하는 요청의 양이 줄어들어 안정적인
서비스 운영이 가능하다.
4. 여러 Web Application 의 서비스
Java 서버, PHP 서버와 같이 서로 다른 서버를 하나의 WEB서버에 연결하여 서비스 할 수 있다
출처
https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html
https://blog.naver.com/itwillbusan01/222739701267
'IT Diary > # JAVA' 카테고리의 다른 글
[Spring] @PostConstruct 와 @PreDestroy (0) | 2022.09.23 |
---|---|
[JAVA] Garbage Colletion 의 동작원리 (0) | 2022.05.01 |
[ JAVA ] JVM 의 정의 (0) | 2022.05.01 |
Stream 뿌셔보기 (0) | 2022.01.12 |
스택과 큐 (0) | 2021.08.27 |