1일 1개념정리 24.08.09.금 ~
큰 결정에 큰 동기가 따르지 않을 때도 있다. 하지만 큰 결심이 따라야 이뤄낼 수 있다.
무조건 무조건 1일 1개의 개념 정리하기 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#1. WAS와 WS의 차이
Web Application Server와 Web Server의 차이가 뭘까 ?? 얼핏 보면 WAS에는 Application이 붙어있으니 무슨 일을 더 하는거겠지 ?? 가장 큰 차이는 주로 처리하는 리소스가 "정적"이나 "동적"이냐 이다.
Web Application Server - 동적
- 비즈니스 로직과 같이 동적인 리소스를 처리함. EX) 클라이언트 요청으로 동적인 페이지 생성, DB 관리, 다른 프로그램과의 상호작용 등
- Tomcat 등
Web Server - 정적
- HTML, CSS, 이미지 등 정적인 리소스를 처리함.
- Reverse Proxy역할을 수행하여 클라이언트 요청을 WAS로 전달. 이를 통해 WAS와 WS를 분리해 보안, 성능 개선
- 트래픽 분산을 위해 로드 밸런싱을 수행한다.
- Ngnix, Apache, MS IIS
정리
무조건 정적은 WS, 동적은 WAS 보다는, 주로 처리하는 것이 정적이냐 동적이냐로 나누는 것이고, WAS도 웹서버가 하는 일을 할 수 있지만, 좀 더 복잡한 기능을 제공하는 데에 초점을 맞춘다.
추가) Apache-Tomcat
보통 spring에서는 아파치-톰캣을 함께 부르곤 한다.
Apache : WS
Tomcat : WAS. 여기서 JSP나 서블릿을 실행하는 서블릿 컨테이너 역할을 함.
이미지는 안바뀌는 정적인 파일인데, 이걸 매번 동적인 Tomcat에서 담당한다면 굉장히 귀찮은 일이다. 그래서 HTML, CSS, Image 등 정적인 리소스는 아파치에게 넘기고, Tomcat에서는 동적인 로직을 담당하도록 분리되어 있다.
클라이언트가 요청 보냄
→ Apache Web Server가 요청 받음. 이를 Tomcat 웹 컨테이너*에게 전달
→ 이를 받아서, 동적 데이터로써 처리를함. 돌려줄땐 정적 데이터로 가공해서 반환
→ 다시 Apache Web Server가 전달 받아서 정적 데이터를 클라이언트에게 전달
*컨테이너 : 동적인 데이터를 정적 데이터로 가공해서 만들어줌
* 서블릿 : 클라이언트의 요청을 받아 처리하는 java 인터페이스
* 서블릿 컨테이너 : 서블릿을 모아 관리하고 새로운 요청에 대해 스레드를 생성하는 역할
'1일 1개념정리 (24년 8월~) > Spring' 카테고리의 다른 글
1일1개 (14) - ArgsConstructor (0) | 2024.08.22 |
---|---|
1일1개 (12) - @Transactional (0) | 2024.08.20 |
1일1개 (11) - JDBC 발전 과정 (0) | 2024.08.19 |
1일1개 (10) - JDBC (0) | 2024.08.18 |
1일1개 (8) - Spring 왜 쓸까 ? (0) | 2024.08.16 |