본문 바로가기

WEB / WAS의 차이

1. WEB( 웹서버)

  • 소프트웨어
    • 웹브라우저 클라이언트로부터 HTTP 요청을 받아들여 정적인 컨텐츠를 제공하는 컴퓨터 프로그램
    • 정적인 컨텐츠 : html, jpeg, css 등 
  • 하드웨어
    • Web 서버가 설치되어있는 컴퓨터 
  • 웹서버의 기능
    • HTTP 프로토콜을 기반으로, 클라이언트의 요청을 서비스 함
    • 정적인 컨텐츠 제공
    • WAS를 거치지 않고 바로 자원을 제공할 때에도 있음
    • 동적인 컨텐츠 제공을 위해 요청 전달
    • 클라이언트(웹 브라우저)의 Request을 WAS에 보내고, WAS가 처리한 Response를 클라이언트에게 전달 
    • 정적인 컨텐츠를 어플리케이션 서버까지 가지 않고 앞에서 빠르게 보내줄 수 있음
    • 정적 컨텐츠만 처리하도록 기능을 분배하여 서버의 부담을 줄임

2. WAS(Web Application Server)

  • 개념
    • DB조회나 다양한 로직 처리를 요구하는 동적 컨텐츠를 제공하기 위해 만들어진 Application Server
    • HTTP를 통해 컴퓨터나 장치에 애플리케이션을 수행해주는 소프트웨어 엔진
    • 웹컨테이너(JSP, Servlet을 실행시킬 수 있는 소프트웨어), 서블릿 컨테이너라고도 불림
    • JSP, Servlet 구동환경을 제공 
  • 특징
    • Web Server + Web Container
    • Web Server의 기능들을 구조적으로 분리하여 처리하고자 하는 목적으로 제시됨
      • 분산 트랜잭션, 보안, 메시징, 쓰레드 처리 등의 기능을 처리하는 분산 환경에서 사용됨
      • 주로 DB서버와 같이 수행 됨
  • 주요 기능
    • 프로그램 실행 환경과 DB 접속 기능 제공
    • 여러 개의 트랜잭션 관리 기능
    • 업무를 처리하느 비즈니스 로직 수행
    • WAS를 통해 요청에 맞는 데이터를 DB에서 가져와서 비즈니스 로직에 맞게 결과를 만들어 제공

3. WEB과 WAS를 분리한 이유 

  • 기능을 분리하여 서버 부하 방지 
    • WAS는 DB조회, 다양한 로직 처리
    • Web Server는 단순한 정적 컨텐츠를 빠르게 클라이언트에게 제공
    • 기능 분리를 통해 수행 속도를 빠르게 늘림
  • 보안 강화
    • SSL에 대한 암복호화 처리에 Web Server를 사용 
  • 여러대의 WAS를 연결 가능
  • 여러 웹 어플리케이션 서비스 가능 
  • 자원 이용의 효율성, 장애극복, 배포 및 유지보수의 편의성 

4. Web Service Architecture

  • Client - Web Server - DB
  • Client - WAS -DB
  • Client - Web Server - WAS - DB 

 

원문 참조 

아래 블로그 들어가시면 DBMS, /Middleware Server, Web Service 동작과정에 대한 구체적인 설명을 보실 수 있습니다.

https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html

 

'' 카테고리의 다른 글

메모리 구조 (코드, 데이터, 힙 , 스택)  (0) 2022.04.20
URL / URI 차이  (0) 2022.04.19
Session / Cookie 의 차이  (0) 2022.04.19
TCP/IP 4 계층  (0) 2022.04.19
OSI 7 계층  (0) 2022.04.19