웹 서버? WAS?

구환준/모건·2023년 11월 8일

UMC-5th

목록 보기
6/10

웹 서버는 대충 서버인 것 같은데 WAS는 또 뭐람? AWS는 아는데;

사실 CS에서의 웹 서버는 사람들이 알고 있는 '서버' 랑은 살짝 다르다.

Web Server

HTTP 프로토콜을 기반으로 웹 브라우저에서 사용자가 요청한 정적 콘텐츠(HTML, CSS, JavaScript, 이미지 등)를 제공하는 역할

주요 기능 및 역할:

  • 사용자의 HTTP 요청을 받아들이고, 적절한 HTTP 응답을 반환해줌
  • 정적 콘텐츠 제공
  • SSL/TLS를 통한 암호화 통신 지원
  • 로드 밸런싱 기능을 제공하여 다수의 WAS에 요청을 분산시킴
  • 대표적인 웹 서버 - Apache, Nginx, IIS 등

Web Application Server

동적 콘텐츠를 처리하기 위해 사용되며, 웹 애플리케이션의 비즈니스 로직을 실행하는 역할

개발자들이 사용하는 Spring, Node.js, Django 속에 WAS가 포함되어 있다고 보면 된다.

주요 기능 및 역할:

  • 서블릿, JSP, ASP.NET 등의 웹 애플리케이션 로직 실행
  • 데이터베이스 연결 및 트랜잭션 관리
  • 세션 관리, 캐싱, 메시지 큐 처리 등의 부가 서비스 제공
  • 대표적인 WAS - Tomcat, JBoss, WebSphere, WebLogic 등

웹 서버와 WAS의 차이점

  • 콘텐츠 유형:
    • 웹 서버: 주로 정적 콘텐츠 처리
    • WAS: 주로 동적 콘텐츠 처리
  • 비즈니스 로직 처리:
    • 웹 서버: 비즈니스 로직 처리 없이 파일을 그대로 전달
    • WAS: 비즈니스 로직을 처리하여 결과를 동적으로 생성 후 전달
  • 성능 및 확장성:
    • 웹 서버: 대량의 요청과 정적 콘텐츠를 효율적으로 처리
    • WAS: 동적 콘텐츠 처리에 최적화되어 있으며, 추가적인 기능 제공

Reverse Proxy

클라이언트와 서버 간의 통신을 중계하고 보안, 성능 개선 등의 목적을 위해 중간에 위치하는 서버

포워드 프록시와 리버스 프록시의 차이

포워드 프록시는 또 다른 외부(다른 컴퓨터) 서버로 요청을 보내주고,
리버스 프록시는 내부(같은 컴퓨터)의 다른 서버로 요청을 보내준다.

리버스 프록시의 주요 기능

  1. 로드 밸런싱:
    • 여러 대의 서버가 있을 때, 리버스 프록시는 들어오는 요청을 여러 서버에 분산시켜 부하를 관리(HTTPS)
  2. 보안:
    • 클라이언트와 실제 처리 서버 사이에 리버스 프록시를 두어 실제 서버의 정보를 숨길 수 있으며, 일종의 방화벽 역할
  3. SSL/TLS 종료:
    • 리버스 프록시에서 SSL/TLS 연결을 종료하고, 내부 네트워크는 암호화되지 않은 연결로 통신
  4. 캐싱:
    • 리버스 프록시는 서버의 응답 결과를 일시적으로 저장해두고, 동일한 요청이 들어올 때 캐시된 데이터를 제공하여 서버의 부하를 줄일 수 있다
  5. 글로벌 서버 로드 밸런싱:
    • 리버스 프록시를 사용하여 지리적으로 분산된 여러 데이터 센터의 서버에 요청을 분산시킴

0개의 댓글