Web Server
Apache, nginx
웹 브라우저로부터 HTTP 요청을 받아들이고 처리한 결과를 웹 브라우저에게 전달하는 역할
주로 HTML, CSS JavaScript, 이미지 파일등 정적인 컨텐츠를 제공할떄 사용
정적인 모든 파일을 저장하고 클라이언트 요청이 생길때마다 서버에 저장된 파일을 내려주기 때문에
한계가 생기고 리소스를 많이 차지하는 단점이 있다
주요 기능
1. 정적 컨텐츠 제공 2. HTTP 요청 처리 3. 로드 밸런싱
*로드밸런싱- 한 서버가 일을 다 처리하는 것은 부담이니 여러 서버가 일을 나누어 처리
4. .SSL/TLS 처리 (암호화 기반 인터넷 보안 프로토콜) 5. 캐싱
WAS (Web Application Server)
웹서버 + 웹 컨테이너
컨테이너가 요청 정보를 파악하여 필요한 정보를 생성해 서버의 리소스 부하를 줄일 수 있음
웹 컨테이너는 JSP 와 Servlet을 실행시킬 수 있는 소프트웨어이다. (asp,php 등 )
HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 미들웨어임
동적 서버 콘텐츠를 수행하는 것으로 주로 DB, 비즈니스 로직을 같이 수행함
주요 기능
1. 동적 컨텐츠 제공 2. 비즈니스 로직 처리 3. 데이터베이스 연결
4. 트랜잭션 관리 5. 세션 관리 6. 인증 및 권한 부여
Web container(웹 컨테이너, 서블릿 컨테이너)
애플리케이션의 구성 요소가 실행 될 수 있는 환경을 제공해주는 소프트웨어 구성이다.
ServletContainer는 Servlet이 실행 될 수 있는 환경을 제공해주는 소프트웨어 컴포넌트이다.
생명주기 관리, 멀티 스레딩 관리 등의 기능을 제공한다.
JSP와 서블릿을 실행시키며 이들의 생명주기를 관리할 수 있다.
웹서버에서 JSP를 요청하면 톰캣에서 JSP파일을 서블릿으로 변환하여 컴파일을 수행한다.
이 후 서블릿 수행결과를 웹서버에게 전달한다.
'SpringBoot' 카테고리의 다른 글
Model1 -> Model2 -> SpringMVC (0) | 2024.11.22 |
---|---|
SQL Mapper - Mybatis (4) | 2024.09.02 |
[Spring Boot] JPA를 왜 써야할까?? (0) | 2024.06.27 |
[SpringBoot] Gradle 이란? (Build Tool) (0) | 2024.06.26 |