웹서버의 종류

김한결·2025년 4월 13일

백엔드 개발을 하다 보면 "서버"라는 단어가 여러 방식으로 쓰이면서 헷갈릴 때가 많다.
Web server, WAS, API server, Rest API, Restful API...
이게 다 다른 거고, 또 겹치기도 하는데 어디서부터 어디까지가 뭔지 정리돼 있지 않으면 개념이 뒤죽박죽되기 쉽다.

이번 글에서는 이 용어들을 단계적으로 비교해가면서 한 번에 정리해보자.

Web

  • 인터넷 망 안에서 정보를 공유, 검색할 수 있게 하는 시스템
  • 인터넷에 연결된 사용자들은 서로 정보를 공유할 수 있다.
  • 웹을 지탱하고 구성하는 아래 세 기술
    • HTTP(통신 규칙)
    • URI or URL(주소)
    • HTML(내용)

Server

네트워크를 통해 클라이언트에게 정보나 서비스를 제공하는 컴퓨터 시스템

Web Server vs WAS

Web Server는 말 그대로 웹 요청을 처리하는 서버, WAS는 웹 애플리케이션을 처리하는 서버다.

Web Server

정적인 리소스(html, css, js, 이미지 등)를 처리하는 서버

특징

  • 데이터베이스와의 연결이나 동적인 연산 없이, 그냥 파일만 준다.
  • 캐시 활용이 가능해서 속도가 빠르다.
  • ex) Nginx, Apache

WAS (Web Application Server)

동적인 요청을 처리한다.

특징

  • DB랑 연결해서 데이터를 받아오고, 가공해서 HTML 혹은 JSON으로 반환한다.
  • 웹 서버랑 달리, 로직이 있다.
  • ex) JSP, Servlet, Spring MVC

정리

Web Server는 "단순한 정적파일 배달부"
WAS는 "로직이 들어간 동적인 작업 처리"

WAS vs API Server

API 서버는 보통 WAS 안에 포함된다.
다시 말하면, API 서버도 결국은 WAS의 역할 중 하나라는 것이다.

API Server

API Server는 데이터를 주고받는 데 집중된 서버이다.

특징

  • 데이터를 JSON 형태로 주고받음
  • HTML을 반환하지 않고, 순수한 데이터만 반환함 (렌더링은 프론트엔드에서 처리)
  • ex) Node.js + Express, Spring Boot REST 컨트롤러

차이점

WAS는 주로 HTML을 렌더링해서 돌려주기도 한다. (SSR - 서버 사이드 렌더링)
API 서버는 JSON만 돌려준다. (CSR - 프론트에서 렌더링)

API Server vs Rest API

API 서버는 여러 종류의 API를 제공할 수 있고,
그중에서도 "Rest API"는 특정한 원칙을 따른 API 방식이다.
즉, API 서버 안에 Rest API가 있다.

Rest API

REST 아키텍처 스타일을 따르는 API 방식

특징

  • 자원(Resource)을 경로(Path)로 표현함 -> /users, /posts/1
  • 행위는 HTTP 메서드(GET, POST, PUT, DELETE)로 표현한다.
  • 서버는 상태를 저장하지 않음 (stateless)

Rest API vs Restful API

Rest API는 "이런 식으로 만들면 좋다"는 약속이고,
Restful API는 그 약속을 잘 지킨 API다.
즉, Rest API 안에 Restful API가 있다.

Restful API

좀 더 꼼꼼하게 더욱 더 Rest한 API를 말한다.

특징

  • 경로는 명사형 /users, /users/1
  • 동작은 HTTP method로만 표현 GET, POST, DELETE 등

ex)

  • 자원의 품사 : 명사, 일부 동사를 쓰기도 함
  • 동작의 품사 : 동사
  • GET /getAllUsers <- Restful API X
  • GET /users (명사) <- Restful API O

마무리

처음에는 다 비슷비슷해 보여도, 하나씩 뜯어보면 역할과 개념이 다르다.
그리고 이걸 제대로 알아야 백엔드 구조를 설계하거나, API를 만들 때 기준이 생긴다.

0개의 댓글