앞에서 서버와 클라이언트에 대해서는 알아보았고, 3계층 구조에 대해서도 알아보았습니다.
이번에는 서버가 어떤 역할을 하는지 좀더 자세히 알아보았습니다. 웹서버 & 앱서버라는 주제에 들어가기 전에 간단한 용어 정리가 필요합니다.
애플리케이션 서버, 웹서버, 앱서버, 웹 애플리케이션 서버, 웹 애플리케이션 에 대한 간단한 정리가 필요합니다.
먼저 Application Server란 서버 그 자체를 나타냅니다.
이 애플리케이션의 한 종류가 앱 서버이고 이 앱서버 안에 웹서버가 있습니다.
애플리케이션 서버 > 앱 서버 > 웹 서버가 되겠네요.
Web Server(웹서버)란 HTTP 를 이용하여 클라이언트와 서버의 통신을 의미합니다.
웹서버는 HTTP request를 받고, HTML, CSS, Javascript, Image등 정적인 정보를 반환하는 역할을 합니다.
동적인 자원은 웹컨테이너로 넘겨주고 웹 컨테이너에서 처리한 결과를 다시받아 브라우저에 제공하는 역할을 합니다.
웹 컨테이너란?
웹 서버의 컴포넌트 중 하나로 자바 서브릿과 상호작용하며 웹서버가 보낸 JSP, PHP ASP.net 등의 파일을 실행하고 결과를 다시 웹 서버로 보내는 역할을 한다
예 : IIS, Apache, Nginx, GWS 등
앱서버와 WAS(Web Application Server)는 같은 말입니다.
처음에는 웹 브라우저는 웹서버가 보내주는 웹페이지를 화면에 표시하는 역할만 했지만 웹 브라우저 기술이 발달하면서 웹페이지를 보여주는 것을 넘어 웹 애플리케이션이 제공하는 기능을 웹브라우저 위에서 실행할 수 있게 되었습니다.
웹 애플리케이션 서버는 동적이게, 제공하고자 하는 서비스에 맞게 다른 서버와 상호작용하여서 즉석해서 웹페이지를 만들어 냅니다.
웹 애플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크이다.
웹 애플리케이션 = 웹 서버 + 웹 컨테이너
HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어이다.
WAS는 동적 서버를 수행하며, 주로 데이터베이스 서버와 같이 수행되어집니다.
이 WAS는 HTTP를 이용하는 애플리케이션 서버라고 볼 수 있습니다.