본문 바로가기
CS/web

Web Server와 WAS

by kyj0032 2024. 3. 1.

https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html을 정리한

https://gyoogle.dev/blog/web-knowledge/Web%20Server%EC%99%80%20WAS%EC%9D%98%20%EC%B0%A8%EC%9D%B4.html을 정리한 글


 

1. 정적 페이지와 동적 페이지

  • 정적 페이지: 이미 저장된(만들어진) 페이지
  • 동적 페이지: 서버가 DB조회 등등 페이지를 그때 그때 만들어서 제공

ex. user_id에 따라 다르게 보여줘야 하는 경우에는 모든 정적 페이지를 만들어 놓을 수 없음 .. 

 

2. Web Server

1) 정의

  • 하드웨어: 웹 서버가 설치되어 있는 컴퓨터
  • 소프트웨어: HTTP 요청을 받고, 정적인 컨텐츠(html, css)를 제공하는 컴퓨터 프로그램

2) 기능

  • WAS를 거치지 않고 정적 콘텐츠 바로 제공
  • WAS에 클라이언트가 필요한 요청 보내기

3. WAS (Web Application Server)

1) 정의

DB 조회 및 다양한 로직 요구 시 동적인 컨텐츠를 제공하기 위해 만들어진 애플리케이션 서버

 

* 웹 컨테이너, 서블릿 컨테이너라고 불림. (컨테이너: 실행 환경을 제공)

 

WAS = Web Server + Web Container라고 할 수 있음.

WAS가 둘의 역할 모두를 할 수 있지만 그럼에도 둘을 구분해놓는 이유는 둘을 분리해야 성능상 이점이 있기 때문

그래서 개념을 분리해놓음

4. Web Server와 WAS

  • 웹 서버
    • 클라이언트 요청 받기
    • 필요한 동적 컨텐츠 WAS에 요청하기
  • WAS
    • DB 조회, 비즈니스 로직 등으로 동적 콘텐츠 제작 후 보내줌
    • 여러 개의 트랜잭션 관리 가능

분리해놓는 이유

  1. 기능 분리 -> 성능 상 이점
    • 정적 콘텐츠 같은 경우에는 웹 서버 단에서 처리 가능 -> 성능 상 이점
    • 접근 허용 IP 관리, 2대 이상의 서버에서의 세션 관리 등
  2. 여러 개의 WAS 사용 가능
    • Load Balancing
    • 무중단 운영을 위한 장애 극복에 쉽게 대응할 수 있음
  3. 여러 웹 어플리케이션 서비스 가능
    • ex. 하나의 어플리케이션에서 PHP application, Java Application 둘 다 가능

'CS > web' 카테고리의 다른 글

JWT(Json Web Token)  (0) 2024.03.08
OAuth  (0) 2024.03.04
[web] REST, REST API  (0) 2024.02.19
[web] 쿠키와 세션  (0) 2024.02.19
[web] 브라우저  (0) 2024.02.16