본문 바로가기
  • 시 쓰는 개발자
1일 1개념정리 (24년 8월~)/Spring

1일1개 (1) - 웹앱서버랑 웹서버랑 같은 거 아니예요 ?

by poetDeveloper 2024. 8. 9.
반응형

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