본문 바로가기
Dev/Web

웹 서버 & WAS

by 그랴 2023. 1. 2.

웹 서버 

  • 하는 일
    1. 정적 컨텐츠 제공 : 웹 리소스를 클라이언트로 전달 또는 클라이언트로부터 콘텐츠를 받아 저장 및 처리
    2. 동적 컨텐츠 제공 요청이 들어오면 WAS에게 요청
  • 물리적 형태 : 타워형, 랙 마운트형
  • 서버 안의 OS : Linux, Windows Server, UNIX
    • Linux : 기능 구현이 조금 어렵지만, 필요한 기능만을 추가하기 때문에 디스크 절약, 안정성 향상과 더불어 비용도 저렴하게 할 수 있음
    • Window Server : 많은 기능이 구현되어 있어서 필요한 기능을 비교적 간단하게 설정할 수 있지만, 유지보수를 포함해 비용이 어느정도 소요될 수 있음
    • 웹 서버는 기능이 한정되고 최소한의 기능만 필요한 경우가 많기 때문에 간단한 기능과 비용이라는 관점에서 Linux를 선호하는 경우가 늘고 있음
  • ex) Apache, Nginx, IIS

 

WAS (Web Application Server)

  • 하는 일
    1. 프로그램 실행 환경 및 DB 접속 기능 제공
    2. 여러 트랜잭션 관리 기능
    3. 업무 처리하는 비즈니스 로직 수행
  • 동적인 요청을 받아 처리해주는 서버 (w/ 데이터베이스 서버)
  • 웹 어플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크
  • HTTP를 통해 애플리케이션을 수행해주는 미들웨어 (소프트웨어 엔진)
  • 웹 서버가 하는 일도 할 수 있음
    • 하지만 각자 맡은 일에만 집중하게 해서 서버 부하를 방지해야 하기 때문에 (동적 컨텐츠 처리가 지연되면서 수행 속도가 느려져 페이지 노출 시간이 늘어나는 문제 발생), 웹 서버에게 맡길 일까지 WAS에게 맡기는 것은 좋지 않다. 웹 서버는 정적 컨텐츠만 처리하도록 분배해야 한다. 
  • 여러 대의 WAS를 연결 지어 사용할 수 있다. 웹 서버를 앞 단에 두고, WAS에 오류가 나면 막아둔 후 재시작해서 해결 가능함 
  • ex) Tomcat, JBoss, Jeus, Web Sphere

 

웹 서버와 WAS의 차이점

  • 목적이 다르다.
    • 웹 서버 : 정적인 데이터 처리 (이미지, 단순 html)
    • WAS : 동적인 데이터 (DB 연결이 필요한 경우)
  • 분리해서 쓰는 이유 : 자원 이용의 효율성 + 장애 극복 + 배포 및 유지 보수 편의성
  • 가장 효율적인 방법 : 웹 서버를 WAS 앞에 두고, 필요한 WAS들을 웹 서버에 플러그인 형태로 설정하면 효율적인 분산 처리가 가능하다.

 

웹 서비스의 구조들

  1. client → web server → DB
  2. client → WAS → DB
  3. client → web server → WAS → DB

참고 문헌

 

웹서버와 WAS(Web Application Server)

웹서버와 WAS에 대하여.

pxd-fed-blog.web.app

 

그림으로 배우는 웹 구조 : 네이버 도서

네이버 도서 상세정보를 제공합니다.

search.shopping.naver.com

 

 

Web Server와 WAS의 차이 | 👨🏻‍💻 Tech Interview

Web Server와 WAS의 차이 웹 서버와 was의 차이점은 무엇일까? 서버 개발에 있어서 기초적인 개념이다. 먼저, 정적 페이지와 동적 페이지를 알아보자 Static Pages 바뀌지 않는 페이지 웹 서버는 파일 경

gyoogle.dev

 

 

[Web] Web Server와 WAS의 차이와 웹 서비스 구조 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io