WEB, WAS 란
2022. 1. 8. 10:44ㆍCloud Native
- 목차
반응형
Web server
- request를 처리
- static content
- WAS를 거치지 않고 바로 제공
- dynamic content
- WAS에서 처리
- client의 requst를 WAS에 보내고 WAS가 처리한 결과를 전달
WAS (Web Application Server)
- 다양한 로직 처리를 요구하는 "동적 content" 처리
- Web container 혹은 Servlet container로 불림
- Container: JSP, Servlet 등을 실행할 수 있는 S/W
- 즉, WAS는 JSP, Servlet 구동 환경을 제공
- 역할
- web server + web container
- web server 기능을 구조적으로 분리할 수 있음
- web server + web container
- 기능
- DB 처리
- multiple transaction 처리
- business logic 처리
- ex.
- Tomcat
- JBoss, Jeus, Web Sphere
Web server와 WAS의 분리 목적
- 분리 이유
- 확장성 확보
- 여러 다양한 server 연동 가능
- A service를 제공하는 server는 Spring으로 개발
- B service를 제공하는 server는 Go로 개발
- 여러 다양한 server 연동 가능
- 부하 방지
- 보안 강화
- SSL 처리를 web server에서 수행 (앞 단에서의 보안 강화)
- Load balancing
- Failover 향상
- fallback (failback?)에 유리
- session 관리 효율성 향상
- 관리를 앞단에서 수행
- 확장성 확보
- 역할
- web server는 이미지 등의 정적 content를 빠르게 전달
- WAS는 다양한 business 로직 및 DB 처리 수행
Web Server Architecture
가능한 여러 구조들
- client -> web server -> DB
- client -> WAS -> DB
- clinet -> Web server -> WAS -> DB
Web server와 WAS가 분리된 구조에서의 요청 처리 과정
- web server가 HTTP request를 받음
- web server는 WAS에 reqeust 전달
- WAS는 Servlet 등을 load
- WAS는 web.xml을 참조하여 Servlet에 thread 생성 (thread pool 사용)
- HttpServletRequst/Response
- thread가 Servlet의 service() 수행
- 요청에 따라 doGet, doPost 등을 수행
- 결과를 WAS에 전달
- WAS는 web server에 HttpResponse를 전달
- thread 종료 및 HttpServletRequest/Response 객체 제거
ref.
static pages
REST 요청에 따라 page는 변경되지 않음
경로와 일치하는 file contents를 반환
image, html, css, javascript 처럼 저장된 file들
dynamic pages
REST 요청에 (parameter) 따라 page가 변경됨
Servlet과 같이 서버에 의해 생성 (Spring, Flask의 template)
반응형
'Cloud Native' 카테고리의 다른 글
DB replication (다중화) (0) | 2022.02.27 |
---|---|
Redis (0) | 2022.02.26 |
AWS 기본 (0) | 2022.01.08 |
서버호스팅, 웹호스팅 (0) | 2022.01.08 |
PHP ? PHP 기본 문법 (0) | 2022.01.04 |