Web

웹 서버(Web Server)와 웹앱 서버(Web Application Server)의 차이

히비스 2021. 2. 18. 21:57

웹 어플리케이션 아키텍처를 공부하던 중에 웹 서버, WAS, APP에 대한 개념 정리가 필요하여 정리한다.

 

웹 서버(Web Server)

클라이언트(웹 브라우저)로부터 HTTP 요청을 받고,

HTML 문서와 같은 웹 페이지를 정적으로 처리해 반환하는 프로그램.

웹 서버는 HTTP request를 받고 HTML, CSS, Javascript, Image등의 정적인 정보를 반환한다.

이외에도 인증, 정적 컨텐츠 관리, 컨텐츠 압축, HTTPS지원, 가상 호스팅, 대용량 파일지원, 대역폭 스로틀링 등의 기능을 지원한다.

흔히 사용하는 아파치(Apache)가 대표적이며, 인터넷 정보 서버(IIS), Nginx 등이 있다.

 

웹 어플리케이션 서버(Web Application Server 또는 WAS 또는 Application Server)

앱서버와 동의어.

웹서버와 앱 사이의 동적인 정보를 생성하는 역할을 담당하는 미들웨어.

Business Logoic으로 처리된 데이터를 Web Server로 전달.

웹서버는 앱을 알지 못하고, 반대로 앱은 웹서버에 대해 알지 못함.

따라서, WAS가 가운데에서 중간다리 역할을 함.

가장 대표적으로는 Apache Tomcat이 있다.

 

추가1

두 개념만 가지고 머릿 속에 들어오지 않기 때문에 한 가지 개념을 더 소개하고 정리하겠다.

 

앱 또는 Web Application

앱은 DB를 질의하고 데이터를 가공하여 제공하는 역할을 담당함.

Django, Flask,. PHP, JSP, ASP등등.

Business Logoic이 앱에서 구현됨.

 

구조

Client - 웹서버 - WAS의 구조

 

정리

클라이언트가 서버에 HTTP 요청을 보내면 Web Server가 해당 내용이 정적파일에 대한 요청인지 확인 후,

맞으면 그대로 응답(이때 사용되는 것이 Apache)함.

아니라면, WAS에 요청을 넘긴다.

WAS는 해당 요청을 App이 알 수 있는 형태로 넘기고 App에서 실질적인 데이터를 처리하여 응답함.

 

Apache는 웹서버.

Apache Tomcat(흔히 그냥 Tomcat으로 부른다.)은 웹 애플리케이션 서버.

그 안에 비지니스 로직을 처리하는 Jsp등이 웹 애플리케이션.

 

참고

 

웹 서버와 웹 어플리케이션 서버의 차이

웹 서버(WS)와 웹 어플리케이션 서버(WAS)의 차이 웹 서버(Web Server) 웹 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지를 정적으로 처리해 반환하는 프로그

logical-code.tistory.com

  •  

velog.io/@raram2/%EC%9B%B9-%EC%84%9C%EB%B2%84Web-Server%EC%99%80-%EC%9B%B9%EC%95%B1-%EC%84%9C%EB%B2%84Web-Application-Server-%EC%B0%A8%EC%9D%B4%EC%A0%90

 

웹 서버(Web Server)와 웹앱 서버(Web Application Server) 차이점

Web Server는 정적(Static) 웹을 담당. HTTP Server라고도 불린다. 대표적으로 Apache, 그 외에 nginx, IIS(Windows) 등이 있다. 반대로 Web Application Server는 동적(Dynamic) 웹을 담당한다.

velog.io

'Web' 카테고리의 다른 글

HTTPS란 무엇일까?  (0) 2021.08.04