[TERMS 03] 웹 서버 / WAS

1) 웹 서버(Web Server) / WAS (Web Application Server)의 정의
웹 서버와 WAS는 사용자(클라이언트)의 요청을 받고 요청에 적절한 결과를 사용자에게 전달하는 프로그램이다.
2) 웹 서버 / WAS는 어디서 접하게 될까?
서버는 서비스 운영에 꼭 필요!
브라우저를 이용하여 웹 서핑을 하거나, 모바일 앱을 활용하여 하는 모든 행위는 서버를 통해서 이루어진다. 서버는 사용자의 요청을 받아들이고 요청에 맞는 결과를 사용자에게 전달한다. 또한 웹 페이지를 만들 때 서버를 통하여 사용자에게 웹 페이지를 제공한다.
3) 웹 서버 / WAS 알아보기
> 개념
- 웹 서버란?
웹 서버는 자판기와 유사하다. 자판기가 돈을 넣고 물건을 고르면 원하는 물건을 그대로 전달하는 것처럼 웹 서버도 홈페이지를 보여 달라고 요청하면 홈페이지를 그대로 전달하여 우리에게 보여 준다. 중요한 부분은 어떠한 처리도 하지 않고 요청 받은 그대로 전달해 준다는 것이다.
웹 서버는 하드웨어, 소프트웨어 두 가지 개념으로 구분 가능하다. 하드 웨어는 웹 서버가 설치된 컴퓨터를 의미한다. 소프트 웨어는 웹 브라우저에서 HTTP(HyperText Transter Protocol) 요청을 받아 HTML, CSS, 자바스크립트, image 등과 같은 '정적인 파일'을 제공해 주는 프로그램을 의미한다. 정적인 파일은 어느 사용자가 요청하든지 항상 동일한 콘테츠를 담고 있는 파일이다.
[ e.g. Apache, Nginx, Microsoft IIS ]
- WAS란?
피자 가게에서 피자를 주문한다고 가정했을 떄, 피자를 선택한 뒤에 선택해야할 옵션이 여러개 존재한다.[ e.g. 도우, 토핑, 음료, 소스 추가 등] 피자 가게의 요리사는 고객의 다양한 요청을 받아들여 피자를 만들고 고객에게 전달해 준다. 이것이 WAS의 형태이다. WAS는 데이터베이스 조회나 다양한 로직 처리를 요구하는 동적인 콘텐츠를 제공하기 위해 만들어진 앱 서버이다.
사용자가 홈페이지에서 회원 가입을 하려고 하면 웹 서버에 회원 가입 요청을 전달하고 웹 서버는 WAS를 통해서 데이터베이스에 사용자의 아이디와 비밀번호 및 그 외 정보를 저장한다. [ e.g. Tomcat, JBoss, Jeus, Web Sphere ]
> 특징
- 웹 서버의 역할
- 웹 서버는 HTTP 프로토콜(Protocol)을 기반으로 사용자의 요청에 응답하는 역할
- 사용자로부터 파일 위치의 이름을 받아 해당 위치에 존재하는 파일을 반환
- 정적인 콘텐츠를 제공
- 동적인 콘텐츠를 제공하기 위한 요청을 WAS에 전달
- WAS에서 작업이 처리되면 그 결과물을 클라이언트에게 전달
- WAS의 역할
- 비즈니스 로직을 처리 : 핵심 역할
- 동적인 콘텐츠(사용자의 요청에 따라 내용이 바뀔 수 있는 것)를 제공 [ e.g. 다양한 로직 처리, 데이터베이스 사용 ]
4) 웹 서버 / WAS를 사용하는 이유
웹 서버를 통해 사용자들에게 입력을 받고 정보들을 저장하고 요청을 처리할 수 있다. => 상호 작용을 하는 중추 역할
5) 웹 서버 / WAS 사용하기
> 서버의 구조

서버는 일반적으로 웹 서버와 WAS, DB 3가지로 구성된다.
- 클라이언트에서 정적인 콘텐츠 요청 : 웹 서버에서 해당하는 파일을 클라이언트로 반환 후 요청이 종료
- 클라이언트에서 동적인 콘텐츠 요청 : 웹 서버로 요청이 들어오고 웹 서버는 요청을 WAS로 넘긴다. WAS는 다양한 로직을 처리하고 필요한 경우에는 DB를 조회하고 삽입 하는 명령을 수행한다. WAS에서 로직이 처리되면 해당 페이지를 다시 웹 서버로 전달한 뒤 웹 서버는 클라이언트에게 페이지를 전달한다.
> 웹 서버와 WAS를 함께 사용하는 이유
- 업무를 분담하여 서버의 부하를 방지하기 위함(웹 서버는 정적 콘텐츠, WAS는 다양한 로직 처리 및 DB 조회)
- 여러 대의 WAS를 둘 경우 WAS가 처리해야 하는 요청을 여러 개의 WAS로 분산시켜 처리하도록 로드 밸런싱을 할 수 있다.
- 보안 측면에서 장점(사용자로부터 동적 콘텐츠 요청이 들어와도 WAS를 외부에 노출하지 않고 웹서버가 WAS로 연결 = 리버스 프록시)
6) 웹 서버 / WAS 더 알아보기
> 형태 및 종류
웹 서버와 WAS를 구성하는 환경에는 크게 온프레미스(On-premise)와 클라우드가 있다.
- 온프레미스 : 클라우드 같은 원격 환경이 아닌 자체적으로 서버를 설치하여 운영하는 방식
- 클라우드 : 특정 회사에서 운영하는 고성능 컴퓨터에 서버를 구축하는 방식
> 함께 알아 두면 좋은 용어
- 클라우드
- HTTP / HTTPS
> 혼동하기 쉬운 용어
- 백엔드
'IT 도서 리뷰 > 개발자가 되기 위해 꼭 알아야 하는 IT 용어' 카테고리의 다른 글
[PART1] 웹/디자인 - TERMS 06 (5) | 2024.09.01 |
---|---|
[PART1] 웹/디자인 - TERMS 05 (0) | 2024.08.21 |
[PART1] 웹/디자인 - TERMS 04 (0) | 2024.08.17 |
[Part1] 웹/디자인 - TERMS 02 (0) | 2024.08.04 |
[Part1] 웹/디자인 - TERMS 01 (0) | 2024.07.28 |