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 |