2024년 9월 24일 화요일

헤드리스 아키텍처 Headless

"헤드리스"라는 단어는 본래의 의미에서 "머리(Head)가 없는" 것을 가리킨다. 헤드리스 아키텍처에서 이 용어를 사용한 이유는, 전통적인 소프트웨어 아키텍처와 비교할 때 프론트엔드(사용자 인터페이스, 즉 '머리'에 해당하는 부분)가 백엔드와 분리되어 독립적으로 동작하기 때문이다.

이유 및 배경:

  1. 전통적인 시스템 구조:
    • 과거의 전통적인 커머스 시스템이나 CMS(콘텐츠 관리 시스템)에서는 프론트엔드(웹페이지 UI)와 백엔드(서버, 데이터베이스, 비즈니스 로직)가 긴밀하게 결합된 형태로 동작했다. 백엔드는 데이터 및 로직을 처리하고, 동시에 프론트엔드를 통해 사용자에게 데이터를 표시하는 역할까지 담당했다. 여기서 프론트엔드가 일종의 "머리" 역할을 했다.
  2. 헤드리스 구조:
    • 헤드리스 아키텍처에서는 백엔드가 "머리(프론트엔드)"가 없는 상태로, 단순히 데이터를 처리하고 API로 결과를 제공한다. 프론트엔드는 백엔드와 독립적으로 존재하며, REST API 또는 GraphQL을 통해 필요한 데이터를 받아서 처리하고 사용자에게 보여준다.
    • 여기서 "머리(Head)"에 해당하는 프론트엔드가 사라졌으므로, 이를 "헤드리스"라고 부른다.

장점:

  • 프론트엔드와 백엔드의 독립성: 프론트엔드를 다양한 기술로 자유롭게 구축할 수 있다. 웹, 모바일 앱, IoT 등 다양한 플랫폼에 적용 가능.
  • 유연성: 하나의 백엔드에 여러 "헤드"(웹사이트, 모바일 앱 등)를 연결할 수 있어 다양한 사용자 경험을 제공할 수 있다.

"헤드리스"라는 용어는 백엔드가 특정 프론트엔드에 종속되지 않고, 다양한 프론트엔드로 확장 가능한 상태를 나타내기 위해 사용된다.

관련 사이트 및 블로그