[2023] 웹 서버(web server)와 웹 어플리케이션 서버(was) : 기본 개념과 동작 원리

웹 서버(web server)와 웹 어플리케이션 서버(was)
웹 서버(web server)와 웹 어플리케이션 서버(was)

웹 서버(web server)와 웹 어플리케이션 서버(was)는 웹 사이트 또는 웹 어플리케이션의 배후에서 실행되는 중요한 컴퓨터 시스템입니다. 이 글에서는 이 둘의 역할, 동작 원리, 그리고 주요한 종류들에 대해 설명하겠습니다.

웹 서버(Web Server)란?

웹 서버는 두 가지 의미로 사용됩니다. 하나는 웹 서버 소프트웨어를 가리키며, 다른 하나는 웹 서버 소프트웨어를 실행하는 물리적 또는 가상의 컴퓨터를 의미합니다.

웹 서버의 주요 역할은 클라이언트(일반적으로 웹 브라우저 또는 웹 크롤러)로부터 HTTP 요청을 받아 처리하고 결과를 다시 클라이언트에게 전송하는 것입니다. 요청된 데이터가 정적인 데이터(HTML, CSS, 이미지 등)인 경우, 웹 서버는 직접 처리합니다. 만약 동적 데이터를 요청한다면, 웹 서버는 웹 어플리케이션 서버에게 요청을 전달하고, 그 결과를 클라이언트에게 반환합니다.

웹 서버의 대표적인 종류로는 Apache, Nginx, IIS, webtoB 등이 있습니다

웹 어플리케이션 서버(WAS)란?

웹 어플리케이션 서버(WAS)는 클라이언트의 요청 중에서 웹 어플리케이션에 관련된 동작을 처리하는 미들웨어입니다. HTTP를 통해 어플리케이션을 실행하고 결과를 반환하는 역할을 합니다.

WAS는 웹 서버와 서블릿 컨테이너의 결합으로 볼 수 있습니다. 서블릿 컨테이너는 클라이언트의 요청을 서블릿이나 JSP와 같은 동적인 리소스로 라우팅하고, 그 결과를 클라이언트에게 반환하는 역할을 합니다.

WAS의 기능은 프로그램 실행 환경 제공, DB 접속 기능 제공, 다수의 트랜잭션 관리, 비즈니스 로직 수행 등 다양합니다. Tomcat, JBoss, jeus 등은 WAS의 대표적인 예시입니다.

웹 서버(web server)와 웹 어플리케이션 서버(was)의 차이점은?

웹 서버와 웹 어플리케이션 서버의 가장 큰 차이점은 처리하는 데이터의 종류입니다. 웹 서버는 주로 정적인 데이터를 처리하고, 웹 어플리케이션 서버는 동적인 데이터를 처리합니다.

웹 서버와 웹 어플리케이션 서버는 웹 사이트와 웹 어플리케이션에서 핵심적인 역할을 합니다. 둘 사이의 차이를 이해하는 것은 웹 개발에 있어서 중요한 요소입니다. 이 글을 통해 기본적인 개념과 동작 원리를 배웠다면, 이제 각각의 서버에 맞는 최적화 방법과 보안 요소를 학습하여 더 나은 웹 서비스를 제공할 수 있습니다.

[우영이네]

[wooyung’s IT 블로그]