Web
인터넷 상에서 정보를 공유하고 상호작용하기 위한 환경이다.
HTML, CSS, JavaScript 등을 기반으로 클라이언트와 서버 간에 데이터를 주고 받으며 동작한다.
- 정적 콘텐츠 제공
HTML, 이미지, CSS등 정적인 리소스를 제공한다. - HTTP 프로토콜 사용
클라이언트와 서버 간 통신은 HTTP를 통해 이루어진다.
Web 서버는 클라이언트로부터 HTTP 요청을 받아 정적 리소스를 반환하는 역할을 한다.
ex : Apache
WAS
동적인 웹 애플리케이션을 실행하고 클라이언트 요청에 대한 비즈니스 로직을 처리하는 서버다.
웹서버는 정적인 콘텐츠를 제공하는데 비해 WAS는 데이터베이스와 상호작용 하거나, 복잡한 비즈니스 로직을 실행하여 동적인 컨텐츠를 생성한다.
특징
- 서블릿, JSP, Spring 등의 실행 환경을 제공한다.
- 클라이언트 요청을 기반으로 데이터를 계산이나 가공하여 동적인 결과를 생성한다.
ex : 로그인, DB 쿼리, 사용자 맞춤형 페이지 생성 등 - 통합환경
웹서버, DB서버, 애플리케이션 로직 등을 연결한다
ex : tomcat
Web과 WAS의 관계
독립적인 역할
web : 요청을 받아 정적 리소스를 제공하거나 요청을 WAS로 전달하는 역할을 한다
WAS : 웹 서버로부터 받은 요청을 처리하여 동적인 결과를 반환한다.
함께동작
리버스 프록시 구조 : 클라이언트가 직접 백엔드 서버와 통신하지 않고 중간에 위치한 리버스 프록시 서버가 클라이언트의 요청을 받아 백엔드 서버에 전달한 뒤 응답을 다시 클라이언트로 반환하는 네트워크 아키텍처
리버스 프록시의 주요 기능
- 로드 밸런싱
다수의 백엔드 서버로 요청을 분산 시켜 서버의 부하를 줄이고 성능 최적화 - 보안 강화
백엔드 서버의 IP 주소와 위치를 숨겨 외부로부터 보호
SSL 인증을 프록시 서버에서 처리하여 백엔드 서버의 부담을 줄임 - 캐싱
자주 요청되는 데이터를 캐싱하여 요청 처리 속도 향상
웹 서버와 WAS는 함께 배포되어 트래픽을 분산하거나 보안을 강화한다.
클라이언트 >> 웹 서버 >> WAS >> 데이터베이스
(리버스 프록시 구조)
'Web' 카테고리의 다른 글
[Web] JWT(Json Web Tokken) (0) | 2024.11.28 |
---|---|
[Web] OAuth (2) | 2024.11.28 |
[Web] REST API (1) | 2024.11.27 |
[Web] HTTP Status Code (0) | 2024.11.27 |
[Web] HTTP Request Method (1) | 2024.11.27 |