2022. 4. 21. 15:06ㆍ프로그래밍 개발(Development)/Web
웹 개발을 하다보면 Web Server, WAS, Web Application 용어를 많이 들어봤지만, 헷갈리는 경우가 있어 다시 한번 정리를 해보자.
1. Web Server(웹서버) 란?
웹 브라우저(Web Browser)와 같은 클라이언트(Client)로부터 HTTP 요청을 받아서, HTML 문서나 정적인 오브젝트(이미지 파일 등)를 전송해주는 소프트웨어이다.
즉, 쉽게 말하면 웹 페이지를 클라이언트로 전달하는 것이다.
대표적인 웹 서버는 Apache, IIS, Nginx, GWS 등이 있다.
2. Web Application Server(WAS) 란?
웹 애플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크이다.
인터넷 상에서 HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 미들웨어(소프트웨어 엔진)로 볼 수 있다. WAS는 동적 서버 콘텐츠를 수행하는 것으로 일반적인 웹 서버와 구별이 되며, 주로 데이터베이스 서버와 같이 수행이 된다.
그리고 아래와 같은 기능을 제공한다.
- 프로그램 실행 환경과 데이터베이스 접속 기능을 제공한다.
- 여러 개의 트랜잭션을 관리한다.
- 업무를 처리하는 비즈니스 로직을 수행한다.
대표적인 WAS는 Tomcat, uWsgi, WebLogic, Jboss, Jeus가 있다.
uWsgi는 HTTP request를 python으로, 반대로 python 응답을 웹서버로 전달하는 역할을 한다.
3. Web Application(웹 애플리케이션) 란?
웹 애플리케이션은 DB를 질의하고 데이터를 가공하여 제공하는 역할을 하며, 비지니스로직이 웹 애플리케이션에서 구현이 된다.
대표적인 웹 어플리케이션으로는 Spring, ASP.NET, Django, Flask, PHP, JSP, ASP등이 있다.
클라이언트가 웹 서버에 HTTP 요청을 보내게 되면 정적인 데이터일 경우 즉시 응답을 하지만,
동적 데이터일 경우 WAS에 요청을 전달한다. WAS는 웹 애플리케이션이 알 수 있는 형태로 변환하여 넘기고, 웹 애플리케이션에서 데이터를 처리 하여 응답하게 된다.
'프로그래밍 개발(Development) > Web' 카테고리의 다른 글
Web Server와 WAS의 차이? (0) | 2022.04.21 |
---|