본문 바로가기
멀티캠퍼스 풀스택 과정/백엔드

백엔드1-1. WAS(Web Application Server)과 Web Server

by 이쟝 2022. 3. 2.

정적 웹 페이지(Static Web Page) 와 동적 웹 페이지(Dynamic Web Page)

정적 웹 페이지 동적 웹 페이지
언제 접속해도 같은 응답을 보내주는 페이지 브라우저에게 요청을 받은 후 서버가 추가적인 처리 과정을 거친 후
클라이언트에게 응답을 보낸다.
서버에 저장된 HTML, CSS, JS등의 파일이
변경되지 않으면 매번 같은 웹페이지를 볼 수 있다. 
매번 같은 페이지를 보여주지 않을 수 있다.
(날씨나, 게시판, 쇼핑몰등)
HTML로는 동적인 구현이 불가능해서 JSP, PHP, ASP 이렇게 Java등의 프로그래밍 언어로 동적인 데이터를 정립한 뒤
-> HTML문서로 재조립해서 -> 웹 브라우저에게 리턴

 

Web Server(웹 서버)

웹 브라우저에서 요청받은 html, css, js 문서같은 정적 콘텐츠를 처리한다.(HTTP 프로토콜을 통해 읽힐 수 있는 문서)
웹서버는 하드웨어와 소프트웨어로 구분된다.

 

하드웨어 소프트웨어
Web 서버가 설치되어 있는 컴퓨터 클라이언트(웹 브라우저)로부터 HTTP요청을 받아들이고,
HTML 등의 웹 페이지 문서에 반응하는 컴퓨터 프로그램

 

웹 서버의 기능 WAS와 관련한 웹 서버의 기능
정적인 컨텐츠를 제공한다. 동적인 컨텐츠를 제공하기 위해 클라이언트(웹 브라우저)의 Request(요청)을 WAS에 보내고, WAS가 처리한 결과를 클라이언트에게 Respnse(응답)한다.
WAS를 거치지 않고 바로 자원을 제공한다.

 

WAS(Web Application Server)

동적인 컨텐츠를 제공하기 위해 만들어진 Application Server로 HTTP를 통해 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어(소프트웨어 엔진)이다. 
WAS는 동적 서버 콘텐츠를 수행하는데 최적화되어 있기 때문에, 정적처리는 웹서버에서 처리를 하고, 동적 컨텐츠는 WAS에서 처리한다. (Apache Tomcat에서 Apache는 Web Server이고, Tomcat은 WAS이다.)
WAS = 웹 서버 + 웹 컨테이너(Web Container)
Container란 Jsp, Servlet을 실행시킬 수 있는 소프트웨어를 말한다. 즉 WAS는 JSP, Servlet 구동 환경을 제공한다.
WAS를 사용하는 이유: 
Web Server에서는 웹 문서만 처리하도록 기능을 분배해 서버의 부담을 줄이기 위한 것이다.
(즉, 자원 이용의 효율성 및 장애 극복, 배포 및 유지보수의 편의성을 위해 Web Server와 WAS를 분리한다
WAS의 주요 기능
1) 프로그램 실행 환경과 DB 접속 기능 제공
2) 여러 개의 트랜잭션(논리적인 작업 단위) 관리 기능
3) 업무를 처리하는 비즈니스 로직 수행

 

 

Web Service Architecture

1. Client(Web browser) -> Web Server -> DB
2. Client(Web browser) -> WAS -> DB
3. Client(Web browser) -> Web Server -> WAS -> DB

 


 

https://okky.kr/article/243427

https://gmlwjd9405.github.io/2018/10/29/web-application-structure.html

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

https://coding-factory.tistory.com/741