웹 서버와 WAS의 차이
웹 서버
개념에 있어서 하드웨어와 소프트웨어로 구분된다.
하드웨어 : Web 서버가 설치되어 있는 컴퓨터
소프트웨어 : 웹 브라우저 클라이언트로부터 HTTP 요청을 받고, 정적인 컨텐츠(html, css 등)를 제공하는 컴퓨터 프로그램
웹 서버 기능
Http 프로토콜을 기반으로, 클라이언트의 요청을 서비스하는 기능을 담당
요청에 맞게 두가지 기능 중 선택해서 제공해야 한다.
웹 서버 종류 : Apache, Nginx, IIS 등
WAS
Web Application Server의 약자
DB 조회 및 다양한 로직 처리 요구시 동적인 컨텐츠를 제공하기 위해 만들어진 애플리케이션 서버
HTTP를 통해 애플리케이션을 수행해주는 미들웨어다.
WAS는 웹 컨테이너 혹은 서블릿 컨테이너라고도 불림
(컨테이너란 JSP, Servlet을 실행시킬 수 있는 소프트웨어. 즉, WAS는 JSP, Servlet 구동 환경을 제공해줌)
역할
WAS = 웹 서버 + 웹 컨테이너
웹 서버의 기능들을 구조적으로 분리하여 처리하는 역할
보안, 스레드 처리, 분산 트랜잭션 등 분산 환경에서 사용됨 ( 주로 DB 서버와 함께 사용 )
WAS 주요 기능
1.프로그램 실행 환경 및 DB 접속 기능 제공
2.여러 트랜잭션 관리 기능
3.업무 처리하는 비즈니스 로직 수행
WAS 종류 : Tomcat, JBoss 등
was가 있는데 왜 웹서버가 필요할까?
-> was만 사용하면 부하가 오고 자원이 부족하니까!
웹 서버가 필요한 이유
웹 서버에서는 정적 컨텐츠만 처리하도록 기능 분배를 해서 서버 부담을 줄이는 것
웹 문서(html 문서)가 클라이언트로 보내질 때 이미지 파일과 같은 파일(정적 파일)은 함께 보내지지 X
이미지 파일들을 받기전에 html 문서를 먼저 받은 후에 다시 서버로 요청해서 받아 오는것이다.
WAS가 필요한 이유
WAS를 통해 요청에 맞는 데이터를 DB에서 가져와 비즈니스 로직에 맞게 그때마다 결과를 만들고 제공하면서 자원을 효율적으로 사용할 수 있다.
참조
Web Server와 WAS의 차이 | 👨🏻💻 Tech Interview
Web Server와 WAS의 차이 웹 서버와 was의 차이점은 무엇일까? 서버 개발에 있어서 기초적인 개념이다. 먼저, 정적 페이지와 동적 페이지를 알아보자 Static Pages 바뀌지 않는 페이지 웹 서버는 파일 경
gyoogle.dev