📚 자료실

WS, WAS의 차이

hjinn0813 2024. 11. 26. 17:45
728x90

WS (Web Server)

단순히 웹페이지를 보여주는 역할.

요청받은 정적인 웹 리소스(HTML, CSS, 이미지 등)를 찾아서 그대로 전달해주는 서버. (파일 요청 → 그대로 전달)

많은 요청을 동시에 처리하기에 적합하고, 리소스 사용량이 비교적 적다.

대표적으로 Apache, Nginx 같은 프로그램이 있다.

  1. 정적 콘텐츠 제공
    HTML, CSS, 이미지, 동영상 같은 미리 준비된 파일을 클라이언트(사용자)에게 제공한다.
  2. HTTP 요청 처리
    사용자가 브라우저에서 보낸 요청을 받아들이고 처리한 뒤, 응답을 돌려준다.
    정적인 요청은 웹 서버가 직접 처리하고, 복잡한 요청은 WAS로 넘긴다.
  3. 인증과 보안
    HTTPS를 통해 데이터를 암호화해서 안전하게 전달한다.
    허가되지 않은 접근을 막기 위해 보안 설정을 관리한다.
  4. 로드 밸런싱
    많은 사용자가 접속하면 한 서버가 과부하될 수 있어서, 여러 서버로 요청을 나눠주는 트래픽 분배를 한다.
  5. Reverse Proxy (역방향 프록시)
    사용자의 요청을 받아 대신 다른 서버에 전달한 뒤, 그 응답을 다시 사용자에게 돌려준다.
    이렇게 하면 서버의 IP가 노출되지 않아 보안이 강화되고, 서버의 부하도 관리 가능하다.

WAS (Web Application Server)

웹 애플리케이션 서버.

웹에서 동작하는 애플리케이션을 실행하고 관리하는 역할을 한다.

사용자가 웹 브라우저에서 보낸 요청을 처리해서 결과를 돌려주는 서버. (요청 → 처리 → 결과 전달)

WAS는 데이터베이스와 연결, 트랜잭션 처리 등 핵심 로직(동적인 작업)을 수행한다.

로직이 복잡해질수록 서버 리소스를 많이 사용해서, 요청 처리 시간이 웹 서버보다 느릴 수 있다.

대표적으로 Tomcat, JBoss, WebLogic 같은 프로그램이 있다.

  1. 비즈니스 로직 처리, 애플리케이션 실행 환경 제공 (API 요청)
    개발자가 만든 웹 애플리케이션이 실제로 동작 가능한 환경을 제공하고, 사용자가 요청한 데이터를 처리하고 결과를 만들어준다.
  2. 동적 콘텐츠 생성
    데이터베이스나 외부 시스템과 연결해 실시간으로 결과를 만들어 사용자에게 전달한다.
  3. 데이터베이스 연동 (CRUD)
    데이터베이스와 통신하여 정보를 가져오거나 저장한다.
  4. 세션 관리
    사용자가 로그인한 상태를 유지하거나, 개인화된 데이터를 처리한다
    예: 로그인 후 "OO님 환영합니다" 같은 맞춤형 메시지를 보여줌.

  WS (Web Server) WAS (Web Application Server)
역할 정적 콘텐츠 제공 동적 콘텐츠 생성 및 제공
처리내용 HTML, CSS 등 정적인 파일 전달 DB 연동 등 동적 작업
요청 처리 요청 파일을 그대로 전달하거나, WAS로 전달 요청을 처리하고 결과를 반환
주로 하는 일 - 정적 파일 제공
- HTTP 요청 처리
- 인증과 보안
- 동적 요청 처리
- 데이터 CRUD
- API 실행 환경 제공
728x90