본문 바로가기
Web

[Web] Web과 WAS의 차이

by 차가운개발 2024. 11. 27.

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