https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html을 정리한
1. 정적 페이지와 동적 페이지
- 정적 페이지: 이미 저장된(만들어진) 페이지
- 동적 페이지: 서버가 DB조회 등등 페이지를 그때 그때 만들어서 제공
ex. user_id에 따라 다르게 보여줘야 하는 경우에는 모든 정적 페이지를 만들어 놓을 수 없음 ..
2. Web Server
1) 정의
- 하드웨어: 웹 서버가 설치되어 있는 컴퓨터
- 소프트웨어: HTTP 요청을 받고, 정적인 컨텐츠(html, css)를 제공하는 컴퓨터 프로그램
2) 기능
- WAS를 거치지 않고 정적 콘텐츠 바로 제공
- WAS에 클라이언트가 필요한 요청 보내기
3. WAS (Web Application Server)
1) 정의
DB 조회 및 다양한 로직 요구 시 동적인 컨텐츠를 제공하기 위해 만들어진 애플리케이션 서버
* 웹 컨테이너, 서블릿 컨테이너라고 불림. (컨테이너: 실행 환경을 제공)
WAS = Web Server + Web Container라고 할 수 있음.
WAS가 둘의 역할 모두를 할 수 있지만 그럼에도 둘을 구분해놓는 이유는 둘을 분리해야 성능상 이점이 있기 때문
그래서 개념을 분리해놓음
4. Web Server와 WAS
- 웹 서버
- 클라이언트 요청 받기
- 필요한 동적 컨텐츠 WAS에 요청하기
- WAS
- DB 조회, 비즈니스 로직 등으로 동적 콘텐츠 제작 후 보내줌
- 여러 개의 트랜잭션 관리 가능
분리해놓는 이유
- 기능 분리 -> 성능 상 이점
- 정적 콘텐츠 같은 경우에는 웹 서버 단에서 처리 가능 -> 성능 상 이점
- 접근 허용 IP 관리, 2대 이상의 서버에서의 세션 관리 등
- 여러 개의 WAS 사용 가능
- Load Balancing
- 무중단 운영을 위한 장애 극복에 쉽게 대응할 수 있음
- 여러 웹 어플리케이션 서비스 가능
- ex. 하나의 어플리케이션에서 PHP application, Java Application 둘 다 가능
'CS > web' 카테고리의 다른 글
JWT(Json Web Token) (0) | 2024.03.08 |
---|---|
OAuth (0) | 2024.03.04 |
[web] REST, REST API (0) | 2024.02.19 |
[web] 쿠키와 세션 (0) | 2024.02.19 |
[web] 브라우저 (0) | 2024.02.16 |