-
[Web] Web server 와 WAS 의 차이점 (+ Web Container)web 2024. 11. 21. 23:44
정적페이지 Static pages
- db의 데이터를 이용할 필요없고, 어떤 사용자가 오든, 언제 오든 동일한 화면의 페이지.(html, css, js, image)
어떤 상황이든 동일한 html을 보여준다.
예시:
회사 사이트(항상 같은화면을 보여주는)
동적페이지 Dynamic pages
- db의 데이터 조회를 통해 시간이나 사용자에 따라 다른 화면을 보여주는 페이지
상황에 따라 다른 html을 보여준다
예시:
게시판 (새로운 글이 업로드될때마다 다른 화면을 보여줘야함)
Web Server
- 클라이언트 요청 중 정적인 컨텐츠만 직접 응답해주는 역할.
- 동적인 컨텐츠 요청이 들어왔을때는 이를 컨테이너로 전달. (웹서버에서는 이를 처리할 수 없기 때문에)
- (동적페이지 요청의 경우) 클라이언트의 요청을 WAS에 보내고 WAS가 처리한 것을 클라이어트에게 응답해준다.
- 정적컨텐츠를 전달하는데에 최적화 되어있다.
예시:
NginX, Apache, IIS
Web Container
-동적인 데이터들을 처리해서 정적페이지으로 변환해주는 소프트웨어 모듈
- 웹 어플리케이션이 배포되는 공간( 프로그래밍이 실행되는 공간 )
WAS (Web Application Server )
- 웹서버로부터 오는 요청을 통해 동적으로 데이터를 생성해주는 서버
- 프로그래밍 언어를 통해 동적데이터를 만들어내고 이를 Web Server로 전달한다.
- <Web Server + Web Container>가 합쳐진 서버
- 비즈니스로직이 수행될 수 있다.
- DB와 연결이 가능하다.
예시:
tomcat, web sphere, jeus
Web Server VS WAS의 차이
"상황에 따라 변하는 정보를 제공할 수 있는가"
-> X : Web Server
-> O : WAS
요청이 들어올때
- 정적페이지 요청
1. 클라이언트가 WAS에 요청
2. Web Server가 정적 페이지를 클라이언트에게 응답
- 동적페이지 요청
1. 클라이언트가 WAS에 요청
2. Web Server가 이를 Web Container(WAS)에 전달
3. Web Container에서 비즈니스로직(프로그래밍)이 실행되어 데이터 생성
4.이를 Web Server로 반환.
5. Web Server가 이를 응답.
WAS가 필요한 이유
- 정적페이지: 캐싱을 통해 더 빠른 응답을 제공하고, 서버부하도 줄일 수 있다.
- 동적페이지: 실시간 데이터 생성과 비즈니스 로직처리, 보안 기능이 필요하다. 정적페이지처럼 캐시해두었다가 응답할 수 없다.
때문에 각 페이지 유형에 따라 최적화된 방식으로 최종적인 웹페이지를 전달하기위해 WAS가 필요하다.
'web' 카테고리의 다른 글
[WEB] AWS route53로 AWS CloudFront에 도메인 연결하기(+DNS )(+AWS SSL로 https까지 적용하기) (0) 2024.12.15 [WEB] https의 동작원리 (+대칭키 vs 비대칭키)(+AWS SSL로 https적용하기) (0) 2024.12.15 [web] IP와 Port번호 (0) 2024.12.03