웹서버, WAS, API 서버, RestAPI, Restful API 개념 정리

김현우·2025년 4월 14일

비슷하게 들리지만 목적과 동작이 조금씩 다른 용어들
특히 백엔드 개발을 하다 보면 이 개념들이 혼용되거나 분리되기도 함
서버 아키텍처를 설계하거나 클라우드 환경에서 마이크로서비스를 구성할 때 반드시 정확히 알아야 함


1. 웹서버 (Web Server)

  • 정적인 리소스(HTML, CSS, JS, 이미지 등)를 클라이언트에게 전달
  • 클라이언트의 요청(Request)을 받고, 응답(Response)을 처리
  • 자체적으로는 동적인 비즈니스 로직 처리 불가

주요 기능

  • 정적 파일 서빙
  • 로드 밸런싱
  • SSL 인증 처리 (HTTPS)

예시

  • Apache HTTP Server, Nginx

2. WAS (Web Application Server)

  • 동적인 로직 처리 가능 (DB 접근, 인증, 비즈니스 로직 등)
  • Java 진영에서는 서블릿 기반의 요청 처리
  • Spring, JSP 등 웹 애플리케이션 실행을 지원

예시

  • Tomcat (가장 보편적 WAS)
  • Jetty, JBoss 등

3. API 서버

  • JSON, XML 등 데이터 중심 통신을 수행
  • 클라이언트와 서버 간 데이터 송수신에 집중
  • 모바일 앱, 프론트엔드 프레임워크(Vue, React 등)와의 통신에 사용됨

역할

  • RESTful API 제공
  • DB와 직접 연결되어 로직 처리
  • 인증, 데이터 가공, 응답 처리

4. RestAPI

  • HTTP 기반에서 자원을 URI로 표현하고, HTTP 메서드로 동작을 정의하는 방식
  • REST 아키텍처 스타일에 맞춰 설계된 API
  • URI, 메서드, 상태 코드, 헤더 등을 표준화해서 사용

기본 구성

  • 자원(Resource): /users, /posts
  • 행위(Method): GET, POST, PUT, DELETE
  • 표현(Representation): JSON, XML 등

5. Restful API

  • REST 원칙을 철저히 따르는 API 설계 방식
  • 상태 저장 X, 일관성 O, 자원 중심 URI
  • "Restful"이라는 용어는 지키는 정도에 따라 달라짐

예시

  • GET /articles/1/comments → 특정 글의 댓글 목록
  • POST /users → 사용자 생성
  • DELETE /users/1 → 특정 사용자 삭제

정리 요약

개념역할
웹서버정적 파일 전달, 요청 수신
WAS동적 처리, 비즈니스 로직 수행
API 서버프론트-백엔드 간 데이터 처리
RestAPIHTTP 표준 기반 API 방식
Restful APIREST 원칙을 철저히 따른 설계 방식

요즘은 웹서버 + WAS 통합 운영하거나 API Gateway를 따로 구성하기도 함
RESTful은 하나의 규약일 뿐이며, 상황에 따라 유연하게 해석하는 것도 중요함
GraphQL, gRPC처럼 REST를 대체하거나 보완하는 방식도 늘어나고 있음

0개의 댓글